测试期间涉及用到数据库的场景例如:
- 测试前造数据
- 测试中校验数据存储准确性
- 测试中验证边界条件/修改某字段提高测试效率
数据库
select version() 返回当前数据库版本号
show databases 查看所有数据库
use database 打开指定数据库
create database if not exists 库名/创建数据库
drop database if exists 库名/删除库
数据表
desc 表名 查看表结构
show tables from 库名 查看当前库的所有表
增
- insert into 表名(列名1,列名2,...列名n) values(value1,value2,...valuen);
- insert into 表名 set 列名1=value1,列名2=value2,...列名n=valuen;
删
- delete from 表名 where 筛选条件;
- truncate 表名;
- drop table 表名;
改
- update 表名 set 列名1=value1,列名2=value2,...列名n=valuen where 筛选条件;
查
sql语句关键字执行逻辑
- from A jion B on
- where
- group by
- having
- select
- distinct
- order by
- limit
select
函数
- distinct 字段 去重
- ifnull(字段,指定值) 检测函数是否为null;是返回指定值;不是返回原本值
- 聚合函数 max()、min()、sum()、avg()、count()
- 日期函数
- year/month/monthname/day/hour/minute/second() 返回年/月/以英文形式返回月/日/小时/分钟/秒
- now() 返回当前系统日期+时间
- curdate() 返回当前系统日期+不包括时间
- 字符串函数
- upper/lower() 字符串大小写
- length() 获取字节个数
- concat 连接字符串 concat(字段1,字段2)
- 分组函数
as/起别名
- 字段 as 别名
- 字段 别名
列/要求出现在group by的后面
from
from A表 inner join内连接
B表 on 连接条件 select <select list> from
tableA A inner join TableB B on A.key=B.key
left join
左外连
接
select <select list> from
tableA A left join TableB B on A.key=B.key
right join右外连接
select <select list> from
tableA A right join TableB B on A.key=B.key
full outer join
全外连接
select <select list> from
tableA A full outer join TableB B on A.key=B.key
where
分组前筛选条件
>,<,>= ,<=,<>/!=
not,and,or
between and,not between and
like
not like
%通配符:>=0个字符
_通配符:单个字符
第二个字符为_,用到转义字符/ _\_%
is null
select <select list> from
tableA A left join TableB B on A.key=B.key where B.key is null
select <select list> from
tableA A right join TableB B on A.key=B.key
where A.key is null
group by 分组列表
having分组后筛选
order by 排序列表
- 字段 asc(升序/不加默认)
- 字段 desc(降序)
limit 分页查询
limit i,n
i显示条目起始索引值,从0开始,i=0可省略
n显示条目个数
limit i offset n
i显示条目数
n==offset跳过的数量
limit (page-1)*size,size
page显示页数
size每页条目数