数据库操作应用场景
-
校验 测试数据
- 接口发送请求后明确会对数据库中的某个字段进行修改,但响应结果中无该字段数据时。
- 如:ihrm删除员工接口。is_delete字段,没有在响应结果中出现!需要 借助 数据库 校验!
- 接口发送请求后明确会对数据库中的某个字段进行修改,但响应结果中无该字段数据时。
-
构造 测试数据
- 测试数据使用一次就失效。
- 如:ihrm添加员工接口,使用的手机号!
- 测试前,无法保证测试数据是否存在。
- 如:ihrm查询员工接口,使用的员工id
PyMySQL操作数据库
安装PyMySQL
- 方法1:
pip install PyMySQL
- 方法2:
pip install PyMySQL -i https://pypi:douban.com/simple
- 测试数据使用一次就失效。
操作步骤
-
导包 import pymysql
-
**创建连接。**conn=pymysql.connect(host,user,password,database,charset)
-
**获取游标。**cursor=conn.suror()
-
**执行SQL。**cursor.execute(“sql语句”)
- 查询语句(select)
- 处理结果集(提取数据 fetch*)
- 增删改语句(insert、update、delete)
- 成功:提交事务 conn.commit()
- 失败:回滚事务 conn.rollback()
5.关闭游标。cursor.close()
6.**关闭连接。**conn.close()
- 查询语句(select)
事务的概念
-
事务,是关系型数据库(mysql)特有的概念。
-
事务,可以看做一个虚拟的容器,在容器中存放一系列的数据库操作,看做一个整体。内部的所有操作,要么都是一次性全部成功,只要有一个失败,就全部失败!
-
事务操作:只有2种情况
- 提交:conn.commit()
- 回滚:conn.rollback()
PyMySQL连接数据库
建立连接方法
conn = pymysql.connect(host=" ",port=0,user="",password="",database="",charset=" ")
host:数据库所在主机 IP地址 -string
port:数据库使用的 端口号 -int
user:连接数据库使用的 用户名 -string
database:要连接的那个数据库的名字 -string
charset:字符集。常用 utf-8 -string
conn:连接数据库的对象
入门案例
查询数据库,获取MYSQL服务器 版本信息
#1.导包
import pymysql
#2.建立连接
conn = pymysql.connect(host="localhost",port=3306,
user="root",password="root",
database="test_db",charset="utf8")
#3.获取游标
cursor=conn.cursor()
#4.执行sql语句(查询)
cursor.execute("select version()")
#5.获取结果
res=cursor.fetchone()
print("res=",res[0])
#6.关闭游标
cursor.close()
#7.关闭连接
conn.close()
PyMySQL操作数据库
SQL语法回顾
- 查询语法:
select 字段1,字段2,...from 表 where 条件;
示例:select id,title,pub_date from t_book where title='读者';
- 添加语法:
insert into 表名(字段1,字段2,...)values (值1,值2,...);
示例:insert into t_book(id,title,pub_date)values(17,'红楼梦','2021-11-11');
- 更新语法
update 表名 set 字段名=字段值 where 条件
示例:update t_book set title ='三国' where id=17;
- 删除语法:
delete from 表名 where 条件
示例:delete from t_book where title="三国";
数据库查询
查询操作流程
cursor游标
常用方法
- fetchone():从结果集中,提取第一行。
- fetchmany(size):从结果集中,提取size行。
- fetchall():提取所有结果集。
- 属性rownumber:可以设置游标位置。
案例
查询t_book表,获取 第一条 数据
查询t_book表,获取 前两条 数据
查询t_book表,获取 全部 数据
查询t_book表,获取第3条和第4条 数据
#1.导包
import pymysql
#2.建立连接
conn = pymysql.connect(host="localhost",port=3306,
user="root",password="root",
database="test_db",charset="utf8")
#3.获取游标
cursor=conn.cursor()#