使用ORM框架操作MySQL数据库
本文将会介绍如何使用Python中的ORM框架(
sqlalchemy和sqlmodel)来操作MySQL数据库。
在文章使用SQLAlchemy操作MySQL中,笔者介绍了如何使用sqlalchemy模块来操作MySQL数据库。
本文将在此基础上,对Python的两个ORM框架(sqlalchemy和sqlmodel)进行更为详细的介绍,包含内容如下:
- MySQL数据库启动
- ORM框架创建表格
- ORM框架实现同步CRUD
- ORM框架实现异步CRUD
本文所演示的Python代码已上传至Github,网址为: https://github.com/percent4/ORM_test .
MySQL数据库启动
本文采用Docker
Compose方案来启动MySQL数据库,docker-compose.yml文件配置如下:
| 1 |  | 
ORM框架创建表格
Python模块中对数据库操作常用ORM框架,常见的ORM框架主要有sqlalchemy和sqlmodel。
我们以创建users表格为例,sqlalchemy的创建表格代码如下:
| 1 |  | 
sqlmodel模块创建表格的代码如下:
| 1 |  | 
创建的users表结构描述如下:
| 1 |  | 
ORM框架实现同步CRUD
常见的MySQL数据库操作为新增(Create)、查询(Read)、修改(Update)、删除(Delete),即CRUD.
- 使用sqlalchemy模块来实现同步CRUD
Python代码如下:
| 1 |  | 
- 使用sqlmodel模块来实现同步CRUD
Python代码如下:
| 1 |  | 
sqlmodel模块的输出结果如下(sqlalchemy模块的结果类似):
| 1 |  | 
ORM框架实现异步CRUD
接下来介绍如何使用异步来实现MySQL数据库的操作。
- 使用sqlalchemy模块来实现异步CRUD
Python代码如下:
| 1 |  | 
- 使用sqlmodel模块来实现异步CRUD
Python代码如下:
| 1 |  | 
sqlmodel模块的输出结果如下(sqlalchemy模块的结果类似):
| 1 |  | 
总结
本文在之前文章的基础上,添加了两个ORM框架(sqlalchemy和sqlmodel)之间的代码对比,并介绍了这两个ORM框架如何实现创建表格、同步CRUD、异步CRUD。
本文演示的Python代码已开源,网址为:https://github.com/percent4/ORM_test .
后续文章将会介绍如何使用Alembic来实现MySQL数据库迁移。
欢迎关注我的公众号NLP奇幻之旅,原创技术文章第一时间推送。
 
欢迎关注我的知识星球“自然语言处理奇幻之旅”,笔者正在努力构建自己的技术社区。
