Skip to main content
 首页 » 程序教程

Python的PyMYSQL模块用法实例

2016年09月08日141101

Python连接MYSQL的方案有MySQLdb、oursql、PyMySQL、 myconnpy、MySQL Connector等,不过本篇主要是说的PyMySQL模块。Python的MySQLdb模块支持的版本较低,PyMySQL模块操作基本与MySQLdb操作一致,是一个不错的替代品。下面就来看看Python的PyMYSQL模块用法实例吧。

基本操作

(1)导入pymysql

 import pymysql

(2)连接数据库:

 conn=pymysql.connect(host='localhost',user='root',passwd='root',db='ere',charset='utf8')

务必注意各等号前面的内容!charset参数可避免中文乱码

(3)获取操作游标:

 cur=conn.cursor()

(4)执行sql语句,插入记录:sta=cur.execute("insert 语句") 执行成功后sta值为1。更新、删除语句与此类似。

(5)执行sql语句,查询记录:cur.execute("select语句") 执行成功后cur变量中保存了查询结果记录集,然后再用循环打印结果,如果是中文则需要处理编码。

代码实例

以下是PyMYSQL的完整代码示例:

#!/usr/bin/env python
# encoding: utf-8
import pymysql

# 创建数据库连接
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="root", db="test", charset='utf8')
# 创建数据库游标
cursor = conn.cursor()
# 执行SQL语句,中文要特别注意编码的问题
effect_row = cursor.execute("INSERT INTO `tb_user`(user,password) VALUES (%s, %s)",
                            ("风轻情淡".encode("utf-8"), "12345678"))
# 获取最新的自增ID
new_id = cursor.lastrowid
print(new_id)
# 获取影响的表行数
print(effect_row)
data = cursor.execute("SELECT user,password FROM `tb_user`")
# 获取所有结果
ret1 = cursor.fetchall()
print(ret1)
print("----------------------")
# 获取查询结果前两行数据
ret2 = cursor.fetchmany(2)
print(ret2)
print("------------------------------")
# 获取查询结果第一行数据
ret3 = cursor.fetchone()
print(ret3)
# 提交连接执行SQL语句
# 相对当前位置移动游标
cursor.scroll(-1, mode='relative')
# 相对绝对位置移动游标
cursor.scroll(2, mode='absolute')
conn.commit()
# 关闭数据库游标
cursor.close()
# 关闭数据库连接
conn.close()
评论列表1条评论
鑫鑫财经
鑫鑫财经回复 文章写得不错,非常喜欢
发表评论