MySQL:我应该使用哪个Python 3库来操作MySQL

MySQL:我应该使用哪个Python 3库来操作MySQL

在本文中,我们将介绍Python 3中常用的几种MySQL库,让你可以有效地操作MySQL

阅读更多:MySQL 教程

PyMySQL

PyMySQL 是建立在 Python 上的纯 Python MySQL 客户端库。它可以像执行 MySQL 命令一样执行 MySQL 查询。PyMySQL 还支持事务处理,支持数据转换和 SSL,并且可以同时使用多个结果集。使用 PyMySQL 可以在不安装 MySQL Db 模块的情况下连接 MySQL 服务器。

示例代码:

import pymysql 
conn = pymysql.connect(
    user='root',
    passwd='password',
    db='db_name',
    host='localhost')
cur.execute("SELECT * FROM table_name")
row = cur.fetchone()
print(row)

MySQL Connector/Python

MySQL Connector/Python 是 MySQL 官方提供的 API,用于Python语言的 MySQL 客户端。它建立在 Python DB API2.0 上,并且完全符合此 API。 Connector/Python 可与 MySQL 服务器的任何版本一起使用,同时支持 X Protocol 和 X DevAPI。Connector/Python 支持各种 MySQL API,如 X DevAPI,X Plugin,Data Types API 等。

示例代码:

import mysql.connector
cnx = mysql.connector.connect(
    user='root',
    password='password',
    host='127.0.0.1',
    database='db_name')
cursor = cnx.cursor()
query = ("SELECT * from table_name")
cursor.execute(query)
for (column1, column2) in cursor:
    print("{} : {}".format(column1, column2))

MySQLdb

MySQLdb 是 Python 2 和 Python 3 都兼容的 MySQL Python 客户端库。是 MySQL-Python 库的重新实现版本,完全符合 Python DB API,同时具有稳健性、高效性和更好的内部实现。在内部实现方面,MySQLdb 对二进制对象(BLOB 和 LONGTEXT)采用内存映射和文件缓存的方式,确保其在不同平台有更好的性能表现。

示例代码:

import MySQLdb
conn=MySQLdb.connect(
    host='localhost',
    user='root',
    passwd='password',
    db='db_name')
cursor=conn.cursor()
cursor.execute('SELECT * FROM table_name LIMIT 10')
rows = cursor.fetchall()
for row in rows:
    print(row)

总结

上述三个库都是 Python 中常用的操作 MySQL 的库。如果你想使用较为官方的MySQL库,那么MySQL Connector/Python 或许是个不错的选择。如果需要用到LegacyPython环境中的MySQL客户端,MySQLdb也是极佳的选择。PyMySQL则适合一些特殊的应用场景,比如需要不安装MySQL Db等情况下连接 MySQL 服务器。无论选择哪种库,都可以很好的满足你的需求。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程