#pip install SQLAlchemy
from sqlalchemy import create_engine
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import Session
#连接数据库:第一种写法
db=create_engine('mysql+pymysql://root:123456@127.0.0.1:3306/ats?charset=utf8')
#连接数据库:第二种写法
db1=create_engine(
'mysql+pymysql://',
connect_args={
'user':'root',
'password':'123456',
'host':'127.0.0.1',
'port':3306,
'database':'ats',
'charset':'utf8'
},
case_sensitive=False, #获取列名时不区分大小写,为True则区分大小写
echo=True, #如果为True会将执行的SQL语句及引擎执行的过程写到默认的日志当中,默认日志使用sys.stdout作为输出。echo的值除了True|False还可以设置为'debug'等字符串的形式来调整日志等级
pool_size=10, #连接池中保持打开状态的连接数
pool_timeout=30 #获取连接池超时时间(单位:秒)
)
#反射已存在的数据库表
#生成所有映射关系
Base=automap_base()
#设置被映射的类和关系并执行映射
Base.prepare(db,reflect=True)
#获取会话连接
session=Session(bind=db)
#获取表对象
table=Base.classes.table_name
#操作数据库
#查询
datas=session.query(table).all()
datas1=session.query(table).filter_by(username='xxx')
#更多查询:https://www.jianshu.com/p/5df053794b02
#插入
user=table(username='xxx',password='xxx')
session.add(user)
session.commit()
#修改
session.query(table).filter_by(username='xxx').update({'password':'xxxxxx'})
session.commit()
#删除
session.query(table).filter_by(username='xxx').delete()
session.commit()
sqlalchemy学习
最新推荐文章于 2024-07-26 10:09:01 发布