您的位置:首页 > 编程语言 > Python开发

mysql的python API

2017-06-10 17:03 330 查看
具体内容可以参见官方文档。这里仅对其中的部分内容进行整理。

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: