pymysql的使用与示例
使用pymysql库访问MySQL数据库可分为以下几步:
(1) 创建连接。通过connect()方法创建用于连接数据库的Connection对象。
(2) 获取游标。通过Connection对象的cursor()方法创建Cursor对象。
(3) 执行SQL语句。通过Cursor对象的execute()、fetchone()或fetchall()方法执行SQL语句,实现数据库基本操作,包括数据的增加、更新、删除、查询等。
(4) 关闭游标。通过Cursor对象的close()方法关闭游标。
(5) 关闭连接。通过Connection对象的close()方法关闭连接。
下面按照以上介绍的流程,通过一个示例分步骤为大家演示如何使用pymysql操作MySQL数据库,具体内容如下。
(1)导入pymysql库,创建程序与MySQL数据库的连接,代码如下。
import pymysql
# 连接数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='123456',
charset='utf8'
)
以上代码连接本地的MySQL数据库,并以root用户的身份访问该数据库。
(2)创建一个数据库dbtest,并在数据库dbtest中创建一张表示员工信息的数据表employees。数据表employees中共有emID、emName、emLevel、emDepID这4个字段,其中字段被设置为主键,代码如下。
# 获得游标
cursor = conn.cursor()
# 创建数据库
sql_create = "create database if not exists dbtest"
cursor.execute(sql_create)
# 创建数据表
sql_use = 'use dbtest'
cursor.execute(sql_use)
sql_table = 'create table if not exists employees(emID int primary key,
emName varchar(20), emLevel varchar(20), emDepID varchar(20))'
cursor.execute(sql_table)
(3)向数据表employees中插入一条记录,代码如下。
# 插入数据
sql = "insert into employees (emID, emName, emLevel, emDepID)
values (%d, '%s', %d, %d)"
data = (15, '小园', 3, 3)
cursor.execute(sql % data)
conn.commit()
(4)更新数据表employees,将字段emID的值为15的记录中字段emName的值修改为“小丸子”,代码如下。
# 修改数据
sql = "update employees set emName = '%s' where emID = %d"
data = ('小丸子', 15)
cursor.execute(sql % data)
conn.commit()
(5)查询employees表中字段emDepID的值为3的记录,代码如下。
# 查询数据
sql = "select emID, emName from employees where emDepID = 3"
cursor.execute(sql)
for row in cursor.fetchall():
print("员工ID:%d 姓名:'%s'" % row)
print('财务部一共有%d个员工' % cursor.rowcount)
(6)删除employees表中字段emID的值为15的一条记录,代码如下。
# 删除数据
sql = "delete from employees where emID = %d limit %d"
data = (15, 1)
cursor.execute(sql % data)
conn.commit()
print('共删除%d条数据' % cursor.rowcount)
(7)关闭游标和连接,代码如下。
cursor.close() # 关闭游标
conn.close() # 关闭连接
(8)运行程序,程序执行的结果如下所示:
员工ID:15 姓名:'小丸子'
财务部一共有1个员工
共删除1条数据