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

使用SQLAlchemy.engine.url连接各种数据库的方法

发布时间:2024-01-02 02:15:59

SQLAlchemy是一个Python提供的关系型数据库解决方案的类库。通过SQLAlchemy我们可以使用不同数据库的URL来创建数据库连接。

SQLAlchemy提供了一个URL类,用于表示数据库连接的URL。我们可以根据不同数据库的类型,构造相应的URL来创建数据库连接。

下面是几个常见数据库的连接示例:

1. MySQL数据库连接示例:

from sqlalchemy import create_engine

# 创建MySQL数据库连接URL
url = "mysql+pymysql://username:password@localhost:3306/dbname"

# 创建数据库连接引擎
engine = create_engine(url)

# 连接数据库
conn = engine.connect()

# 执行SQL语句
result = conn.execute("SELECT * FROM tablename")

# 获取查询结果
for row in result:
    print(row)

# 关闭数据库连接
conn.close()

2. PostgreSQL数据库连接示例:

from sqlalchemy import create_engine

# 创建PostgreSQL数据库连接URL
url = "postgresql+psycopg2://username:password@localhost:5432/dbname"

# 创建数据库连接引擎
engine = create_engine(url)

# 连接数据库
conn = engine.connect()

# 执行SQL语句
result = conn.execute("SELECT * FROM tablename")

# 获取查询结果
for row in result:
    print(row)

# 关闭数据库连接
conn.close()

3. SQLite数据库连接示例:

from sqlalchemy import create_engine

# 创建SQLite数据库连接URL
url = "sqlite:///path/to/database.db"

# 创建数据库连接引擎
engine = create_engine(url)

# 连接数据库
conn = engine.connect()

# 执行SQL语句
result = conn.execute("SELECT * FROM tablename")

# 获取查询结果
for row in result:
    print(row)

# 关闭数据库连接
conn.close()

4. Oracle数据库连接示例:

from sqlalchemy import create_engine

# 创建Oracle数据库连接URL
url = "oracle+cx_oracle://username:password@localhost:1521/dbname"

# 创建数据库连接引擎
engine = create_engine(url)

# 连接数据库
conn = engine.connect()

# 执行SQL语句
result = conn.execute("SELECT * FROM tablename")

# 获取查询结果
for row in result:
    print(row)

# 关闭数据库连接
conn.close()

通过以上示例,我们可以使用SQLAlchemy的create_engine函数创建不同类型数据库的连接引擎,并通过连接引擎的connect方法连接数据库,然后执行SQL语句并获取结果。

使用SQLAlchemy的engine.url可以方便地构造不同数据库的连接URL,以适应不同数据库类型的需求。