Python数据库及ORM框架对比选择
之前学习java,java中对数据库的操作很多,如Spring Data JPA,Hibernate和mybatisJdbc Template都能够连接上mysql数据库。那么python一定也有方法实现对数据库的连接操作,下面是我的一些整理。
使用Python进行MySQL的库主要有三个:
- Python-MySQL(更熟悉的名字可能是MySQLdb)
- PyMySQL
- SQLAlchemy
Python-MySQL:
资格最老,核心由C语言打造,接口精炼,性能最棒,缺点是环境依赖较多,安装复杂,近两年已停止更新,只支持Python2,不支持Python3,所以使用会越来越少
PyMySQL:
为替代Python-MySQL而生,纯python打造,接口与Python-MySQL兼容,安装方便,支持Python3。
SQLAlchemy:
是一个ORM框架,它并不提供底层的数据库操作,而是要借助于MySQLdb、PyMySQL等第三方库来完成,目前SQLAlchemy在Web编程领域应用广泛。
其中ORM种类有下面几种:
Django’s ORM、peewee、SQLAlchemy
Django’s ORM
优点: 易用,学习曲线短 和Django紧密集合,用Django时使用约定俗成的方法去操作数据库缺点: QuerySet速度不给力,会逼我用Mysqldb来操作原生sql语句。
Peewee
优点:Django式的API,使其易用轻量实现,很容易和任意web框架集成缺点:不支持自动化 schema 迁移不能像Django那样,使线上的mysql表结构生成结构化的模型。
SQLAlchemy
优点:巨牛逼的API,使得代码有健壮性和适应性灵活的设计,使得能轻松写复杂查询缺点:工作单元概念不常见重量级 API,导致长学习曲线
以上就是我通过查询并进行整理的一些python中连接数据库的一些常用的方法,总结起来供大家一同学习。
如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖推币机的世界