Python: _mysql 与 MySQLdb 的优缺点?
有两个库可以用来连接Mysql数据库。
我一直在用 _mysql,因为它更简单一些。
有没有人能告诉我这两个库有什么区别,以及在什么情况下我应该使用哪个库呢?
3 个回答
5
_mysql 是一个与原始 mysql API 一对一对应的模块。在这个基础上,构建了 DB-API,它通过游标等方式来处理数据。
如果你习惯使用 libmysqlclient 提供的低级 mysql API,那么 _mysql 模块正是你需要的。不过,正如另一个回答所说,其实没有必要去使用这么底层的东西。你可以使用 DB-API,效果也很好,而且 DB-API 的好处是它不依赖于具体的数据库后端。
9
另外,你可以使用 MySQL Connector/Python:
MySQL Connector/Python 是用 Python 完全实现了 MySQL 客户端和服务器之间的协议。这意味着你不需要编译任何东西,甚至你的电脑上都不需要安装 MySQL。
14
MySQLdb使用的是DB-API(可以在PEP 249中找到),这个接口是所有数据库驱动都通用的,所以应该优先使用。个人认为,使用_mysql
这种底层的东西没有什么好处。我更倾向于使用更高级的库,比如SQLAlchemy。