欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  程序教程

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教程