sqlalchemy相关操作(ORM)
程序员文章站
2023-11-14 13:36:40
环境:python3.7,pycharm,mysql ORM(Object Relational Mapper) 对象关系映射(ORM)是一种允许您使用面向对象的范例从数据库查询和操作数据的技术,sqlalchemy是实现ORM技术其中一个库(框架)。 优势 简化开发,因为它可以自动执行对象到表和表 ......
环境:python3.7,pycharm,mysql
orm(object-relational-mapper)
对象关系映射(orm)是一种允许您使用面向对象的范例从数据库查询和操作数据的技术,sqlalchemy是实现orm技术其中一个库(框架)。
优势
- 简化开发,因为它可以自动执行对象到表和表到对象的转换,从而降低开发和维护成本
- 与嵌入式sql和手写存储过程相比,代码更少
- 应用程序层中的透明对象缓存,提高了系统性能
- 优化的解决方案使应用程序更快,更易于维护
映射类型
sqlalchemy操作mysql数据库
1.导入
import sqlalchemy from sqlalchemy.ext.declarative import declarative_base
2.链接数据库
db = sqlalchemy.create_engine("mysql+pymysql://root:11111111@localhost/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()
推荐阅读
-
深入SQL SERVER合并相关操作Union,Except,Intersect的详解
-
asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)
-
360wifi快传软件怎么遥控电脑进行相关操作 360wifi快传遥控电脑关机的方法
-
mysql增加和删除索引的相关操作
-
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
-
Laravel框架Eloquent ORM修改数据操作示例
-
Python的Django框架中使用SQLAlchemy操作数据库的教程
-
解析HTML5的存储功能和web SQL的相关操作方法
-
Python 数据库操作 SQLAlchemy的示例代码
-
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析