软件测试从业者必备的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

                      你可能感兴趣的:(数据库,sql,数据库)