学科分类
目录

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条数据
点击此处
隐藏目录