作者:xin丶儿_462 | 来源:互联网 | 2023-09-18 12:08
1、简介一种ORM2、安装3、连接数据库4、创建删除表(包含连接数据库)a、表类b、创建删除表注意:sqlalchemy的表类不像django的orm那样可以更新,
1、简介
一种ORM
2、安装
pip3 install -i https://pypi.douban.com/simple sqlalchemy
3、连接数据库
from sqlalchemy import create_engine
engine = create_engine(
"mysql+pymysql://root:密码@127.0.0.1:3306/数据库名称?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
4、创建/删除表(包含连接数据库)
a、表类
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column
from sqlalchemy import Integer,String
Base = declarative_base()
class Users(Base):
__tablename__ = ‘users‘
id = Column(Integer, primary_key=True)
name = Column(String(32), index=True, nullable=False)
depart_id = Column(Integer)
b、创建/删除表
from sqlalchemy import create_engine
def create_all():
engine = create_engine(
"mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
Base.metadata.create_all(engine)
def drop_all():
engine = create_engine(
"mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8",
max_overflow=0, # 超过连接池大小外最多创建的连接
pool_size=5, # 连接池大小
pool_timeout=30, # 池中没有线程最多等待的时间,否则报错
pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置)
)
Base.metadata.drop_all(engine)
if __name__ == ‘__main__‘:
# drop_all()
create_all()
注意:sqlalchemy的表类不像django的orm那样可以更新,只能删除和重建
sqlalchemy 数据库操作