导图社区 SQLAlchemy
这是一篇关于SQLAlchemy的思维导图,主要内容包括:异常处理,性能优化,关系,删除数据,更新数据,查询数据,插入数据,映射到数据库,声明模型,连接数据库,安装,简介。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
SQLAlchemy
简介
SQLAlchemy是一个Python SQL工具包和ORM框架
提供了全面的数据库操作和ORM功能
支持多种数据库,如MySQL、PostgreSQL、SQLite等
安装
使用pip安装SQLAlchemy
安装命令:pip install SQLAlchemy
连接数据库
使用create_engine函数创建数据库连接
示例:engine = create_engine('mysql://user:password@localhost/dbname')
声明模型
使用declarative_base函数创建模型基类
使用类继承模型基类,并定义属性
示例:from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
映射到数据库
使用Base.metadata.create_all()将模型映射到数据库
示例:Base.metadata.create_all(engine)
插入数据
使用session.add()添加新对象到会话
使用***mit()提交会话
示例:from sqlalchemy.orm import sessionmaker
Session = sessionmaker(bind=engine)
session = Session()
new_user = User(name='John')
session.add(new_user)
***mit()
查询数据
使用session.query()构造查询对象
使用查询对象上的过滤方法进行查询
示例:users = session.query(User).filter_by(name='John').all()
更新数据
使用查询对象上的更新方法进行更新
示例:user = session.query(User).filter_by(name='John').first()
user.name = 'Jane'
删除数据
使用查询对象上的删除方法进行删除
示例:user = session.query(User).filter_by(name='Jane').first()
session.delete(user)
关系
一对一关系
使用ForeignKey定义一对一关系
示例:from sqlalchemy import ForeignKey
address_id = Column(Integer, ForeignKey('addresses.id'))
一对多关系
使用ForeignKey定义一对多关系
多对多关系
使用 association table 定义多对多关系
示例:from sqlalchemy import Table, Column, Integer, ForeignKey
users_addresses = Table('users_addresses',
Base.metadata,
Column('user_id', Integer, ForeignKey('users.id')),
Column('address_id', Integer, ForeignKey('addresses.id'))
)
性能优化
使用连接查询代替子查询
使用批量插入代替单条插入
使用索引提高查询速度
异常处理
使用try/except处理数据库操作异常
示例:try:
except Exception as e:
session.rollback()
print(e)