MySQLdb目前已经被pymysql替代。另外MySQL官网有mysql-connector-python项目。但是pymysql安装简单,直接用pip pymysql安装,建议选用pymysql。
查看pymysql源代码,pymysql的connect函数中db, passwd参数是为了与MySQLdb一致写入的冗余参数。
pymysql的功能参考https://www.python.org/dev/peps/pep-0249/#connection-objects中Python 数据库API说明。pymysql的函数和功能有限,主要还是学习MySQL自己的内容。
pymysql提供了python操作mysql的接口函数,pymysql遵守python数据库接口协议,给出了接口函数,如使用execute执行mysql语言。本质还是要学好mysql语言,pymysql的内容很简单。
例子1:显示所有数据库。
'''
Created on Mar 14, 2017@author: hcq908
'''
import pymysql
if __name__ == '__main__':
conn = pymysql.connect(host='127.0.0.1', user='root', password='7288645hcq908')
cur=conn.cursor()
sShowDataBase = 'SHOW DATABASES'
#execute返回结果是整数,需要改变方法
sResult = cur.execute(sShowDataBase)
print('%s',sResult)
#获取上一语句的所有结果
sDataBases = cur.fetchall()
#注意输出格式要去掉括号和逗号,python的去除方法很人性化
for (sDataBase,) in sDataBases:print(sDataBase)
cur.close();
conn.close();
例子2:创建数据库。
'''
Created on Mar 14, 2017
@author: hcq908
'''
import pymysql
if __name__ == '__main__':
conn = pymysql.connect(host='127.0.0.1', user='root', password='7288645hcq908')
cur=conn.cursor()
sMuliDataBase = 'CREATE DATABASE IF NOT EXISTS LearnMySQL'
cur.execute(sMuliDataBase)
conn.commit();
cur.close();
conn.close();