具体内容可以参见官方文档。这里仅对其中的部分内容进行整理。
1. 安装
官网上对debian安装包的介绍仅限于dpkg安装,下载网址:
# 这里以ubuntu15.04_amd64为例
wget http://cdn.mysql.com//Downloads/Connector-Python/mysql-connector-python-cext_2.1.3-1ubuntu15.04_amd64.deb
dpkg -i PACKAGE.deb
# 另外一种方法是使用apt-get,默认安装的版本为1.1.6-1
sudo apt-get install python-mysql.connector
# 或者使用pip
sudo pip install mysql-connector-python-rf
目前python-mysql.connector对python3.4的支持似乎不是很好。使用python2.7.6时没问题。
由于使用后面两种方法安装的有时候会导致版本问题,推荐使用第一种方法来安装。
2. 连接到mysql服务器
import mysql.connector
cnx = mysql.connector.connect(user='joe', database='test')
或者
from mysql.connector import connection
cnx = connection.MySQLConnection(user='joe', database='test')
这里常用的登录参数可以选择:
user (username), password (passwd), database (db), host(默认为127.0.0.1), port(默认为3306), charset, collation, buffered(默认为False)等等,参数的更多信息可以参照官网
若要修改配置,重新连接:
cnx.config(**kwargs)
# 例如:
cnx = mysql.connector.connect(user='joe', database='test')
# Connected as 'joe'
cnx.config(user='jane')
cnx.reconnect()
# Now connected as 'jane'
3. 提交
Connector/Python默认不会自动提交。所以每次通过事务修改数据后都需要提交。
cursor.execute("INSERT INTO employees (first_name) VALUES (%s)", ('Jane'))
cnx.commit()
4. python API中的模块和类
mysql.connector模块: 提供top-level方法和性质
connection.MySQLConnection类:用于打开和管理与mysql服务器的连接,发送命令,sql语句,以及读取结果
pooling.MySQLConnectionPool类:建立和管理连接池
pooling.PooledMySQLConnection:被MySQLConnectionPool用来返回一个加入连接池的连接
cursor.MySQLCursor:实例化一个可以执行sql语句的对象实例,通过MySQLConnection对象与mysql服务器交互
cursor.MySQLCursor的子类:这些cursor的获得都通过创建时的具体参数来实现
- cursor.MySQLCursorBuffered:执行完sql语句后, MySQLCursorBuffered cursor 获取所有的结果和缓冲的行内容。
- cursor.MySQLCursorRaw:执行完sql语句后直接返回mysql数据类型而不转化为python类型,这通常用于获得更高的性能或者希望自己对执行结果进行转化。
- cursor.MySQLCursorBufferedRaw
- cursor.MySQLCursorDict:执行完sql语句后,将每一行以字典形式传回
- cursor.MySQLCursorBufferedDict
- cursor.MySQLCursorNamedTuple:执行完后将每一行以有名称的元组返回
- cursor.MySQLCursorBufferedNamedTuple
- cursor.MySQLCursorPrepared
constants.ClientFlag:
constants.FieldType
constants.SQLMode
constants.CharacterSet
constants.RefreshOption
[Errors and Exceptions](Errors and Exceptions)