Python的PyMYSQL模块用法实例
程序员文章站
2022-01-13 17:56:20
...
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()
上一篇: Python保留队列最后的N个元素