SQL阶段性实战练习1_软件测试考试分数表

--1. 新建一个数据库:凡猫学院

CREATE DATABASE 凡猫学院;

--2. 新建一张表:软件测试考试分数表;完全模仿样本,包括字段名、数据类型、约束

CREATE TABLE 软件测试考试分数表

(Id INT PRIMARY KEY,

姓名 VARCHAR(20) NOT NULL,

年龄 INT ,

性别 CHAR(20),

考试时间 DATE,

SQL得分 INT,

Python得分 INT,

QTP得分 INT,

测试基础得分 INT

);

--3. 根据语法“INSERT INTO 表名称 VALUES (值1, 值n)”插入样本中第一条数据

INSERT INTO 软件测试考试分数表 VALUES (0,'张三',21,'男','20171224',59,59,59,59);

--4. 根据语法“INSERT INTO 表名称 (列1, 列n) VALUES (值1, 值n)”插入样本中第二条数据

INSERT INTO 软件测试考试分数表 (Id,姓名,年龄 ,SQL得分,QTP得分)VALUES (1,'李四',28,78,70);

--5. 根据样本将所有信息补充完整

INSERT INTO 软件测试考试分数表 VALUES (2,'王五',65,'女','20171223',66,0,95,100);

INSERT INTO 软件测试考试分数表 (Id,姓名,年龄 ,性别,考试时间,SQL得分,Python得分,

测试基础得分)VALUES (3,'赵六',20,'男','20171224',91,77,80);

INSERT INTO 软件测试考试分数表 (Id,姓名,年龄 ,考试时间,SQL得分,Python得分,QTP得分,

测试基础得分)VALUES (4,'猫叔',18,'20171223',100,100,100,100);

INSERT INTO 软件测试考试分数表 (Id,姓名,年龄 ,性别,SQL得分,Python得分,QTP得分,

测试基础得分)VALUES (5,'Jeremy',16,'男',99,99,99,99);

INSERT INTO 软件测试考试分数表 (Id,姓名,年龄 ,性别,SQL得分,Python得分,QTP得分)

VALUES (6,'DEMON',16,'男',80,80,80);

--6. 查询出所有信息

SELECT * FROM 软件测试考试分数表;

UPDATE 软件测试考试分数表 SET 测试基础得分= '' WHERE Id=6;

DELETE FROM 软件测试考试分数表 WHERE (Id=6);

--7. 查询信息,但只显示姓名和各科考试成绩

SELECT 姓名,SQL得分,Python得分,QTP得分,测试基础得分 FROM 软件测试考试分数表;

--8. 进行列的别名查询(自行选择列)

SELECT 姓名 AS N ,SQL得分 AS S,Python得分 AS P FROM 软件测试考试分数表;

--9. 进行表的别名查询(自行取名)

SELECT * FROM 软件测试考试分数表 AS SC;

--10. 将列的别名和表的别名组合在一个SQL语句中进行查询

SELECT SC.姓名 AS N ,SC.SQL得分 AS S,SC.Python得分 AS P FROM 软件测试考试分数表 AS SC;

--11. 查询出Jeremy老师的所有记录

SELECT * FROM 软件测试考试分数表 AS SC WHERE SC.姓名='Jeremy';

--12. 查询出除李四以外的所有童鞋的信息记录,Id号不需要

SELECT SC.姓名,SC.年龄,SC.性别,SC.考试时间,SC.SQL得分,SC.Python得分,SC.QTP得分,SC.测试基础得分 FROM 软件测试考试分数表 AS SC WHERE SC.姓名!='李四';

--13. 查询出SQL得分是满分的学员

SELECT * FROM 软件测试考试分数表 WHERE SQL得分=100;

--14. 查询出所有SQL考试及格的学员的姓名

SELECT * FROM 软件测试考试分数表 WHERE SQL得分>60;

--15. 查询出Python考试不及格的学员,只显示Python的得分,但所有其它的学员相关信息全部要显示

SELECT 姓名, Python得分 FROM 软件测试考试分数表 WHERE Python得分

SELECT * FROM 软件测试考试分数表 WHERE Python得分>=60;

--16. 查询出20岁以上(含)的学员

SELECT * FROM 软件测试考试分数表 WHERE 年龄>20;

--17. 查询出考试时间在2017年12月24日之前(含)的所有学员的姓名

SELECT * FROM 软件测试考试分数表 WHERE 考试时间

--18. 缩小姓名列的空间

ALTER TABLE 软件测试考试分数表 ALTER COLUMN 姓名 VARCHAR(15);

--19. 为所有得分列增加非空约束

ALTER TABLE 软件测试考试分数表 ALTER COLUMN SQL得分 INT NOT NULL;

ALTER TABLE 软件测试考试分数表 ALTER COLUMN Python得分 INT NOT NULL;

ALTER TABLE 软件测试考试分数表 ALTER COLUMN QTP得分 INT NOT NULL;

ALTER TABLE 软件测试考试分数表 ALTER COLUMN 测试基础得分 INT NOT NULL;

--20. 为姓名增加唯一约束,然后删除该约束

ALTER TABLE 软件测试考试分数表 ADD CONSTRAINT [UNIQUE_xm] UNIQUE(姓名);

--21. 添加一个新列:temp

ALTER TABLE 软件测试考试分数表 ADD temp VARCHAR(100);

--22. 删除这个列

ALTER TABLE 软件测试考试分数表 DROP COLUMN temp;

--23. 更改“年龄”列的名字为“Age”

EXEC sp_rename '软件测试考试分数表.年龄', 'Age','COLUMN';

--24. 添加一个新列:综合评价

ALTER TABLE 软件测试考试分数表 ADD 综合评价 VARCHAR(300);

--25. 根据实际情况对每一个学员进行评价,规定有且只有4个评价,优良中差

UPDATE 软件测试考试分数表 SET 综合评价='优';

UPDATE 软件测试考试分数表 SET 综合评价='差' WHERE Id=1;

UPDATE 软件测试考试分数表 SET 综合评价='中' WHERE Id=0 OR Id=2;

UPDATE 软件测试考试分数表 SET 综合评价='良' WHERE Id=3;

--26. 将王五的年龄改成17岁

UPDATE 软件测试考试分数表 SET Age=17 WHERE 姓名='王五';

--27. 用一条SQL语句将Jeremy老师的考试成绩全部改成满分,谢谢

UPDATE 软件测试考试分数表 SET SQL得分=100,Python得分=100,QTP得分=100,测试基础得分=100 WHERE 姓名='Jeremy';

--28. 提高张三的SQL得分为59.5分

ALTER TABLE 软件测试考试分数表 ALTER COLUMN SQL得分 FLOAT;

UPDATE 软件测试考试分数表 SET SQL得分=59.5 WHERE 姓名='张三';

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171225G0CEQD00?refer=cp_1026

扫码关注云+社区