对象关系映射(ORM)是一种允许您使用面向对象的范例从数据库查询和操作数据的技术,sqlalchemy是实现ORM技术其中一个库(框架)。
import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
db = sqlalchemy.create_engine("mysql+pymysql://root:11111111@localhost/demo")
base = declarative_base(db)
class User(base):
__tablename__ = 'student'
id = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
name = sqlalchemy.Column(sqlalchemy.String(32))
if __name__ == '__main__':
base.metadata.create_all(db)
1.导入
from sqlalchemy.orm import sessionmaker
2.绑定一个查询实例
session = sessionmaker(bind=db)
session = session()
3.插入
######插入单条数据
user =User(
id = 4,
name='python'
)
session.add(user)
session.commit()
######插入多条数据
session.add_all(
[
User(id=5,name='java'),
User(id=6,name='php')
]
)
session.commit()
4.查询
######查询多条数据
data = session.query(User).all()
for x in data:
print (x.name)
data = session.query(User).filter(User.name== 'xxxx').all()
######查询单条数据
data = session.query(User).filter(User.name == 'xxxx').first()
data = session.query(User).filter_by(name='xxxx').first()
######使用get查询id
data = session.query(User).get(ident = 10)
print (data.name)
5.修改
data = session.query(User).get(10)
print (data)
data.name = 'laoli'
session.merge(data)
session.commit()
或者
session.query(User).filter(User.id == 10).update({User.name:"xxxxx",User.id:11})
session.commit()
6.删除
data = session.query(User).filter(User.id == 11).first()
session.delete(data)
session.commit()
原文:https://www.cnblogs.com/vinic-xxm/p/11390718.html