欢迎访问宙启技术站
智能推送

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数据库,具体的连接字符串根据实际情况进行修改即可。连接字符串中的usernamepassword需要替换为实际的用户名和密码,localhost表示数据库所在的主机名,3306为MySQL默认的端口号,database_name为数据库名称。通过engine.connect()方法创建连接对象,可以使用conn.execute()方法执行SQL语句,并通过遍历result对象获取查询结果。

使用SQLAlchemy库连接数据库非常灵活,可以根据不同的数据库类型和连接方式来设置连接字符串,然后进行数据库操作。