from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
# 创建一个引擎,连接到 SQLite 数据库
engine = create_engine('sqlite:///example.db', echo=True)
# 声明基类
Base = declarative_base()
# 定义一个映射类
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
age = Column(Integer)
def __repr__(self):
return f"<User(name={self.name}, age={self.age})>"
# 创建表
Base.metadata.create_all(engine)
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
# 添加新用户
new_user = User(name='Alice', age=30)
session.add(new_user)
session.commit()
# 查询用户
users = session.query(User).all()
for user in users:
print(user)
# 更新用户信息
user_to_update = session.query(User).filter_by(name='Alice').first()
user_to_update.age = 31
session.commit()
# 删除用户
user_to_delete = session.query(User).filter_by(name='Alice').first()
session.delete(user_to_delete)
session.commit()
# 关闭会话
session.close()
create_engine
创建一个数据库引擎,这里连接的是一个 SQLite 数据库。declarative_base
创建一个基类,所有映射类都继承自这个基类。User
类,它映射到数据库中的 users
表。类中的属性对应表中的列。Base.metadata.create_all(engine)
创建所有定义的表。sessionmaker
创建一个会话工厂,并绑定到引擎。然后创建一个会话实例。User
实例并添加到会话中,最后提交事务。session.query(User).all()
查询所有用户,并打印结果。以上代码展示了如何使用 SQLAlchemy 进行基本的数据库操作,包括创建表、插入数据、查询数据、更新数据和删除数据。
上一篇:python celery
下一篇:python 换行
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站