作为职场人,学一门技能是用来解决日常工作问题的,没必要从头到尾把这块知识弄透,没那么多时间 。
基于此,十二根据自己的经验,把软件测试从业者需要掌握的SQL知识,整理如下;只要跟着这个顺序,从头到尾执行即可 。
1、在自己电脑上安装一个mysql数据库,文章见 ->
虚拟机Centos下安装Mysql完整过程(图文详解)_虚拟机安装mysql-CSDN博客
2、找一个mysql客户端链接工具:初学者,推荐 Navicat,文章见 ->
Navicat——安装使用(图文详解)-CSDN博客
如上准备完成后,接下来就是实操了 。
create DATABASE isTester
drop DATABASE isTester
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;
drop table isTester2
drop table Twelve,Twelve2,isTester2
Alter table isTester add column isTester6 VARCHAR(20) NOT NULL
-- 添加主键:
Alter table isTester add primary key(Twelve)
-- 删除主键:
Alter table isTester drop primary key(Twelve)
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);
select * from isTester
select * from isTester where id = 1
delete from isTester where id = 1
update isTester set uname="Twelve666" where id = 12
select * from isTester where uname like '%Twelve%'
select * from isTester order by id desc
select count(id) as totalcount from isTester
select sum(grade) from Twelve
select avg(id) as avgvalue from isTester
select max(id) as "maxvalue" from isTester
select min(id) as "minvalue" from isTester
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%";
INSERT into isTester2 SELECT * FROM isTester;
INSERT INTO Twelve(id,stu_id,grade) SELECT id,id,Twelve FROM isTester;
-- ALTER TABLE 旧表名 RENAME TO 新表名 ;
ALTER TABLE Twelve3 RENAME TO Twelve6
-- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;
alter table isTester CHANGE uname aname varchar(60);
CREATE TABLE isTester10 LIKE isTester.Twelve;
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;
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);
select id,stu_id,c_name,grade from Twelve where id in (select id from isTester);
-- 左链接
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;
select * from (Select id,stu_id,c_name,grade FROM Twelve ) d where d.id > 10
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;
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;
select * from (select * from Twelve order by id asc limit 15) i order by id desc limit 5
create view isTester_view as select id,stu_id,c_name,grade from Twelve where id in (select id from isTester);
drop view isTester_view