sqlalchemy相关操作(ORM)
发布时间:2020-12-15 07:59:15 所属栏目:Java 来源:网络整理
导读:环境:python3.7,pycharm,mysql ORM(Object-Relational-Mapper) 对象关系映射(ORM)是一种允许您使用面向对象的范例从数据库查询和操作数据的技术,sqlalchemy是实现ORM技术其中一个库(框架)。 优势 简化开发,因为它可以自动执行对象到表和表到对象
环境:python3.7,pycharm,mysqlORM(Object-Relational-Mapper)对象关系映射(ORM)是一种允许您使用面向对象的范例从数据库查询和操作数据的技术,sqlalchemy是实现ORM技术其中一个库(框架)。 优势
映射类型sqlalchemy操作mysql数据库1.导入import sqlalchemy from sqlalchemy.ext.declarative import declarative_base 2.链接数据库db = sqlalchemy.create_engine("mysql+pymysql://root:[email?protected]/demo") 3.创建一个继承基类base = declarative_base(db) 4.映射class User(base): __tablename__ = 'student' id = sqlalchemy.Column(sqlalchemy.Integer,primary_key=True) name = sqlalchemy.Column(sqlalchemy.String(32)) 5.创建表if __name__ == '__main__': base.metadata.create_all(db) 6.操作数据库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() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |