如何使用 SQLAlchemy 进行数据库操作?
步骤 1:导入库
from sqlalchemy import create_engine, MetaData, Table, Column
步骤 2:创建数据库连接
# 数据库名称
db_name = "my_database"
# 创建数据库引擎
engine = create_engine(f"sqlite:////tmp/{db_name}.db")
# 获取数据库上下文
metadata = MetaData()
metadata.create_all(engine)
步骤 3:创建表
# 表名
table_name = "users"
# 创建表
table = Table(table_name, metadata, autoload=True)
engine.create_all(table)
步骤 4:添加数据
# 创建数据对象
user = Table(
"users",
metadata,
Column("name", String(80)),
Column("email", String(120), unique=True),
)
# 添加数据
user.insert(name="John Doe", email="john.doe@example.com")
步骤 5:查询数据
# 查询所有用户
users = User.query.all()
# 查询特定用户
user = User.query.get(1)
# 打印用户姓名
print(user.name)
步骤 6:关闭数据库连接
engine.dispose()
示例代码:
import sqlalchemy
# 数据库名称
db_name = "my_database"
# 创建数据库连接
engine = create_engine(f"sqlite:////tmp/{db_name}.db")
# 获取数据库上下文
metadata = MetaData()
metadata.create_all(engine)
# 创建表
table = Table(
"users",
metadata,
Column("name", String(80)),
Column("email", String(120), unique=True),
)
engine.create_all(table)
# 添加数据
user = Table(
"users",
metadata,
Column("name", String(80)),
Column("email", String(120), unique=True),
)
user.insert(name="John Doe", email="john.doe@example.com")
# 查询所有用户
users = User.query.all()
# 打印用户姓名
for user in users:
print(user.name)
# 关闭数据库连接
engine.dispose()
```