软件测试从业者必备的SQL知识

作为职场人,学一门技能是用来解决日常工作问题的,没必要从头到尾把这块知识弄透,没那么多时间 。

基于此,十二根据自己的经验,把软件测试从业者需要掌握的SQL知识,整理如下;只要跟着这个顺序,从头到尾执行即可 。

前置准备事项:

1、在自己电脑上安装一个mysql数据库,文章见 ->

虚拟机Centos下安装Mysql完整过程(图文详解)_虚拟机安装mysql-CSDN博客

2、找一个mysql客户端链接工具:初学者,推荐 Navicat,文章见 ->

Navicat——安装使用(图文详解)-CSDN博客

如上准备完成后,接下来就是实操了 。

1. 创建数据库:

create DATABASE isTester

2. 删除数据库:

drop DATABASE isTester

3. 创建新表:

1)创建isTester和Twelve

CREATE TABLE isTester (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,uname VARCHAR(20) NOT NULL ,sex VARCHAR(4)  ,birth YEAR,department VARCHAR(20) ,address VARCHAR(50) ,Twelve VARCHAR(20) );
CREATE TABLE Twelve (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,stu_id INT(10) NOT NULL ,c_name VARCHAR(20) ,istester VARCHAR(50) ,grade INT(10));

2)根据已有的表创建新表(复制表)

create table isTester2 like isTester ; 
create table Twelve2 as select * from Twelve where 2=1; 
create table Twelve2 as select id,stu_id,isTester from Twelve where 1<>1;

4. 删除表:

drop table isTester2 
drop table Twelve,Twelve2,isTester2

5. 增加表字段:

Alter table isTester add column isTester6 VARCHAR(20)  NOT NULL

6. 主键

-- 添加主键:
 Alter table isTester add primary key(Twelve)

-- 删除主键: 
Alter table isTester drop primary key(Twelve)

7. 几个简单的基本入门sql语句

(1)插入:
insert into isTester(id,uname,Twelve) values(1,"Twelve",2020);
insert into isTester(id,uname,Twelve) values(2,"Twelve2",2020); 
insert into Twelve(id,stu_id,c_name,grade) values(4,11,"Twelve",90),(5,12,"lin",100),(6,33,"6ido",20);
insert into isTester(id,sex,Twelve) values(11,1,2020),(12,2,2020),(13,2,2020),(14,1,2020);
(2)选择:
select * from isTester 
select * from isTester where id = 1
(3)删除:
delete from isTester where id = 1
(4)更新:
update isTester set uname="Twelve666" where id = 12
(5)查找:
select * from isTester where uname like '%Twelve%'
(6)排序:
select * from isTester order by id desc
(7)总数:
select count(id) as totalcount from isTester
(8)求和:
select sum(grade) from Twelve
(9)平均:
select avg(id) as avgvalue from isTester
(10)最大:
select max(id) as "maxvalue" from isTester
(11)最小:
select min(id) as "minvalue" from isTester

8. 模糊查找(like)

select * from isTester where uname like "%Twe%" order by id desc limit 10; 
select * from isTester t where t.uname like "Twe%" order by id desc limit 10; 
select * from isTester.Twelve s where s.stu_id like "%2%";

9. 拷贝表数据(从其他表)

INSERT into isTester2 SELECT * FROM isTester; 
INSERT INTO Twelve(id,stu_id,grade) SELECT id,id,Twelve FROM isTester;

10. 修改表名

-- ALTER TABLE 旧表名 RENAME TO 新表名 ;
ALTER TABLE Twelve3 RENAME TO Twelve6

11. 修改表字段名

-- ALTER  TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
alter table isTester CHANGE uname aname varchar(60);

12. 跨数据库之间表的拷贝

CREATE TABLE isTester10 LIKE isTester.Twelve;

13. 查询between的使用

select * from Twelve where grade between 1 and 30;
select id,stu_id,c_name,grade from Twelve where grade not between 1 and 30;

14. 查询 in 的使用

select id,stu_id,c_name,grade from Twelve where grade in (10,20,90); 
select id,stu_id,c_name,grade from Twelve where grade not in (10,20,90);

15. 子查询

select id,stu_id,c_name,grade from Twelve where id in (select id from isTester);

16. 多表(左链接、右链接、内链接)

-- 左链接
select i.id,i.stu_id,i.c_name,i.grade from Twelve i LEFT join isTester t ON i.id = t.id;

-- 右链接
select i.id,i.stu_id,i.c_name,i.grade from Twelve i RIGHT join isTester t ON i.id = t.id;

-- 内链接
select i.id,i.stu_id,i.c_name,i.grade from Twelve i inner join isTester t ON i.id = t.id;

17. 条件筛选查询

select * from (Select id,stu_id,c_name,grade FROM Twelve ) d where d.id > 10

18. 四表联查

select i.id,i.stu_id,i.c_name,i.grade from Twelve i LEFT join isTester t ON i.id = t.id right join isTester2 c on i.id=c.id inner join Twelve2 d on i.id=d.id where 1=1;

19. 内连接

select d.* from (select d.id,d.stu_id,d.c_name,d.grade from idoxu d order by grade desc limit 10) i,Twelve d where i.id = d.id order by stu_id desc limit 10;

20. 选择从10到15的记录

select * from (select * from Twelve order by id asc limit 15) i order by id desc limit 5

21. 创建视图

create view isTester_view as select id,stu_id,c_name,grade from Twelve where id in (select id from isTester);

22. 删除视图

drop view isTester_view
本文是转载文章,点击查看原文
如有侵权,请联系 lx@jishuguiji.net 删除。