使用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奇幻之旅,原创技术文章第一时间推送。

欢迎关注我的知识星球“自然语言处理奇幻之旅”,笔者正在努力构建自己的技术社区。
