mysql的python API
2017-06-10 17:03
330 查看
具体内容可以参见官方文档。这里仅对其中的部分内容进行整理。
目前python-mysql.connector对python3.4的支持似乎不是很好。使用python2.7.6时没问题。
由于使用后面两种方法安装的有时候会导致版本问题,推荐使用第一种方法来安装。
这里常用的登录参数可以选择:
user (username), password (passwd), database (db), host(默认为127.0.0.1), port(默认为3306), charset, collation, buffered(默认为False)等等,参数的更多信息可以参照官网
若要修改配置,重新连接:
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
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
相关文章推荐
- 推荐一个python3连接mysql的API。mypysql 在linux、window下均编译通过
- mysql的python api
- Writing MySQL Scripts with Python DB-API
- mysql的python api
- MySql-python的API手记
- python数据库操作(1)--Mysql/Sqlite--DB-API
- Writing MySQL Scripts with Python DB-API
- mysql的python API
- win10 python3.5安装mysql的API
- python DB API MySQL 实战
- Writing MySQL Scripts with Python DB-API
- python2学习笔记之mysql连接,中文乱码的解决和文件api的使用
- Python MySQL API
- python3+Django1.11+mysql5.7 MySQL DB API Drivers
- python 连接mysql
- 13.13 sqlite3 -- DB-API 2.0 SQLite数据库接口[Python参考库翻译]
- Mysql C api
- 使用Python将数据从Access导入到MySQL
- MySQL可用的API
- python调用mysql和postgresql的不同之处