Python中设置SQLAlchemy.engine.url的连接字符串
发布时间:2024-01-02 02:17:21
在Python中使用SQLAlchemy库连接数据库,需要通过设置engine的URL属性来指定连接字符串。连接字符串中包含了数据库的类型、地址、端口、数据库名称等信息。
以下是一些常见数据库的连接字符串示例:
1. MySQL连接字符串示例:
from sqlalchemy import create_engine # 使用用户密码连接 url = 'mysql+pymysql://username:password@localhost:3306/database_name' # 使用unix socket连接 url = 'mysql+pymysql://username:password@localhost/database_name?unix_socket=/path/to/socket' engine = create_engine(url)
2. PostgreSQL连接字符串示例:
from sqlalchemy import create_engine url = 'postgresql://username:password@localhost:5432/database_name' engine = create_engine(url)
3. SQLite连接字符串示例:
from sqlalchemy import create_engine url = 'sqlite:///path/to/database.db' engine = create_engine(url)
4. Oracle连接字符串示例:
from sqlalchemy import create_engine # 使用用户名密码连接 url = 'oracle+cx_oracle://username:password@host:port/service_name' # 使用Externally-Identified User(Windows身份验证) url = 'oracle+cx_oracle:///@host:port/service_name' engine = create_engine(url)
5. Microsoft SQL Server连接字符串示例:
from sqlalchemy import create_engine # 使用用户名密码连接 url = 'mssql+pymssql://username:password@host:port/database_name' # 使用Windows身份验证 url = 'mssql+pymssql://DOMAIN/username:password@host:port/database_name' engine = create_engine(url)
设置连接字符串后,可以使用engine.connect()方法来创建一个连接对象,然后进行数据库操作。
from sqlalchemy import create_engine
url = 'mysql+pymysql://username:password@localhost:3306/database_name'
engine = create_engine(url)
with engine.connect() as conn:
# 执行SQL语句
result = conn.execute('SELECT * FROM table_name')
# 获取查询结果
for row in result:
print(row)
上述示例中使用了MySQL数据库,具体的连接字符串根据实际情况进行修改即可。连接字符串中的username和password需要替换为实际的用户名和密码,localhost表示数据库所在的主机名,3306为MySQL默认的端口号,database_name为数据库名称。通过engine.connect()方法创建连接对象,可以使用conn.execute()方法执行SQL语句,并通过遍历result对象获取查询结果。
使用SQLAlchemy库连接数据库非常灵活,可以根据不同的数据库类型和连接方式来设置连接字符串,然后进行数据库操作。
