Python通过Sqlalchemy框架实现增删改查
目录
简介
什么是SQLAlchemy?
SQLAlchemy可以分为两个部分:Core和ORM。
一、首先安装sqlalchemy
二、在配置文件中添加数据库连接信息,我这里是Mysql
三、 创建数据库连接类,我这里是动态读取数据库的表字段,自动生成实体model
四、验证
简介
什么是SQLAlchemy?
SQLAlchemy是一个Python的SQL工具和ORM框架,可以通过Python代码直接操作关系型数据库,也可以使用ORM模型进行对象关系映射。它支持多种数据库,并提供了强大的SQL表达式和查询API。
SQLAlchemy可以分为两个部分:Core和ORM。
Core:提供了底层的SQL表达式和查询API,支持多种数据库的可移植操作,例如连接管理、事务管理、对象关系映射、元数据管理等。
ORM:提供了基于Core的高级API,使得开发者可以使用Python的面向对象语法方式来进行数据库操作,把数据库表中的记录映射到Python中的对象实例上。ORM部分可以通过继承和关联来轻松进行数据关系的管理和维护,大大简化了数据库操作的难度。
以下是SQLAlchemy的一些优点:
可移植性:支持多种数据库,并提供了统一的API,使得应用程序对于不同数据库的切换和迁移更加容易。
易用性:提供了易用的API和强大的对象关系映射功能,开发者可以使用面向对象的方式来操作数据库,并且可以把数据库表中的记录映射到Python中的对象实例上。
易扩展性: SQLAchemy由活跃的开源社区维护,提供了完整的文档、教程和资料支持,可以方便地扩展和定制。
性能表现良好:SQLAlchemy在实现中采用了连接池管理连接,缓存查询结果等技术,以确保较高的性能和可伸缩性。
总之,SQLAlchemy是Python操作数据库的一个非常强大和优美的工具和框架,无论是从开发者的角度还是从性能方面考虑,都是一个非常不错的选择。
一、首先安装sqlalchemy
pip install sqlalchemy
二、在配置文件中添加数据库连接信息,我这里是Mysql
三、 创建数据库连接类,我这里是动态读取数据库的表字段,自动生成实体model
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
from config.config import USERNAME,PASSWORD,HOSTNAME,DATABASE
from urllib import parse
# 创建基类
Base = automap_base()
# 替换以下 URL 为你的数据库连接字符串
PWD = parse.quote_plus(PASSWORD)
engine = create_engine('mysql+pymysql://{}:{}@{}/{}'.format(USERNAME,PWD,HOSTNAME,DATABASE))
# 映射已存在的表
Base.prepare(engine, reflect=True)
# 创建会话
Session = sessionmaker(bind=engine)
session = Session()
"""
这下面就可以根据表明直接生成实体Model了
"""
#字典表
DictionaryDO = Base.classes.mp_tb_z_dictionary
#秘钥表
keyDO = Base.classes.mp_tb_z_key
四、在主类引用可直接实现增删改查的操作
from model.mysql_db_model import DictionaryDO ,keyDO,session
"""
测试专用
"""
@bi.route('/ssss', methods=['GET'])
def get_test():
#查询
DictionaryDOList = session.query(DictionaryDO).all()
data = [
{'id': dictionaryDO.id, 'type': dictionaryDO.type} # 根据您的需求添加更多字段
for dictionaryDO in DictionaryDOList
]
#增删改查 。。。。。。等等操作
return jsonify({
"code": 0,
"msg": "success",
"data": data
})
四、验证
postman访问结果: