使用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,以适应不同数据库类型的需求。
