python-Mysql的操作(pyMysql的介绍)

python中的mysqldb能对mysql进行操作,性能也比pyMysql优化,但是对于python3.x不太兼容。PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,遵循 Python 数据库 API v2.0 规范。所以在python 3上建议使用这个模块

安装pymysql的模块:

pip install PyMySQL

如果不愿意安装,下载下来,解压文件,将pymysql文件夹放到你的工程中即可

API:
https://www.python.org/dev/peps/pep-0249/
http://pymysql.readthedocs.io/en/latest/modules/connections.html
http://pymysql.readthedocs.io/en/latest/modules/cursors.html
PyMySQL模块中常用的2个对象Connection Object和Cursor Objects

Connection Object

方法 使用说明
.close() 关闭数据库连接
.commit() 提交预处理的数据库操作
.rollback() 事务回滚
.cursor() 连接数据库是返回cursor Object

Cursor Objects

方法 使用说明
callproc(procname, args=()) 用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数
execute(query, args=None) 执行查询语句,返回有效的行数(int)
executemany(query, args) querey是一个查询字符串,args是一个参数序列。这一序列的每一项都是一个序列或映射对象。
.fetchone() 返回结果集的下个个记录
fetchmany(size=None) 返回结果集的size条记录
.fetchall() 返回结果集,返回的是tuple对象
.fetchall_unbuffered() 返回结果集,返回list的对象
read_next() 读取下一行
.scroll(1,mode='relative') 按照当前位置移动
.scroll(1,mode='absolute') 按照绝对位置移动
实例
import pymysql


conn = pymysql.connect(
                        # 数据库的地址
                        host='XXX',
                        #数据库的端口(number类型)
                        port=XXX,
                        # 数据库的帐号
                        user='XXX',
                        # 数据库的密码
                        password='XXX',
                        #连接中有多个数据库,这个填要查询的数据库的名称
                        db='XXX',
                        # 默认是acsic编码,现在改为
                        charset='utf8mb4',
                        # 默认返回是tutle,加入后返回为字典
                        cursorclass = pymysql.cursors.DictCursor
                       )

try:
     with conn.cursor() as cursor:
         sql = 'SELECT * from XX  '
         cursor.execute(sql)
         data = cursor.fetchall()
         print(data[3])

finally:
    conn.close()

具体实现参考;http://www.cnblogs.com/guanfuchang/p/6441592.html

你可能感兴趣的:(python-Mysql的操作(pyMysql的介绍))