sql 练习题

面试的时候,问的八股文倒没啥问题,但是让我手写代码的时候有点问题,在这里记录下
这个主要是针对sql方面的

一、基本语法

①增

插入单行

点击查看代码
INSERT INTO 表名 (列1, 列2, 列3) 
VALUES (值1, 值2, 值3);
**插入多行**
点击查看代码
INSERT INTO 表名 (列1, 列2) 
VALUES (值1, 值2),(值3, 值4),(值5, 值6);

从其他表插入

点击查看代码
INSERT INTO 表名 (列1, 列2)
SELECT 列1, 列2 FROM 另一张表 WHERE 条件;

②删

DELETE FROM 表名 WHERE 条件;

③改

UPDATE 表名
SET 列1 = 新值1, 列2 = 新值2
WHERE 条件;

④查

SELECT 列1, 列2 FROM 表名;
SELECT * FROM 表名;

二、具体练习题

①增

②删

1. 删除记录

描述
现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录,结构如下表:

作答记录表exam_record:
start_time是试卷开始时间
submit_time 是交卷,即结束时间
image

请删除exam_record表中作答时间小于5分钟整且分数不及格(及格线为60分)的记录;

涉及到的知识点: timestampdiff(unit,参数1,参数2); 该方法会将参数1 和 参数2 进行相见,得到的结果单位为unit
思路: 根据题目需求,条件就是 score < 60 和 开始时间与提交时间只差小于五分钟的
代码:
delete from exam_record
where
score < 60 and timestampdiff(minute,start_time,submit_time) < 5

③改

④查