「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战」
做了半个多月的查询,接下来准备做增删改,要做一个全能的crud boy
描述
牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下:
- 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分;
- 用户1002在2021年9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。
试卷作答记录表exam_record中,表已建好,其结构如下,请用一条语句将这两条记录插入表中。
该题最后会通过执行SELECT uid, exam_id, start_time, submit_time, score FROM exam_record;来对比结果
示例1
drop table if EXISTS exam_record;
CREATE TABLE IF NOT EXISTS exam_record (
id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
uid int NOT NULL COMMENT '用户ID',
exam_id int NOT NULL COMMENT '试卷ID',
start_time datetime NOT NULL COMMENT '开始时间',
submit_time datetime COMMENT '提交时间',
score tinyint COMMENT '得分'
)CHARACTER SET utf8 COLLATE utf8_general_ci;
TRUNCATE exam_record;
1001|9001|2021-09-01 22:11:12|2021-09-01 23:01:12|90
1002|9002|2021-09-04 07:01:02|None|None
方法一
根据题意插入两条记录即可。其中第二条中并没有给出提交时间,观察样例,发现这种情况下提交时间和分数都为none
;对于自增的字段来说,我们只要传入null
或者default
即可,具体的值会自己算出来;另外还有一点,时间上加减法,用关键字interval + 数值 + 时间单位
来完成,其中,数值位置正数表示加,负数表示减;
sql语句如下:
INSERT INTO exam_record
VALUES
(null, '1001', '9001', '2021-09-01 22:11:12', '2021-09-01:22:11:12' + INTERVAL 50 minute, 90),
(null, '1002', '9002', '2021-09-04 07:01:02', null, null);
让我们来看看插入语句的运行效果:
对于插入语句并没有啥可看的,和我们输入的一致;哈哈哈哈