mysql的python API

具体内容可以参见官方文档。这里仅对其中的部分内容进行整理。

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的获得都通过创建时的具体参数来实现

constants.ClientFlag
constants.FieldType
constants.SQLMode
constants.CharacterSet
constants.RefreshOption
[Errors and Exceptions](Errors and Exceptions)

原文地址:https://www.cnblogs.com/noway-neway/p/5220286.html