当前位置:网站首页>数据库系统原理与应用教程(067)—— MySQL 练习题:操作题 82-89(十一):数据的增、删、改操作
数据库系统原理与应用教程(067)—— MySQL 练习题:操作题 82-89(十一):数据的增、删、改操作
2022-07-30 17:26:00 【睿思达DBA_WGX】
数据库系统原理与应用教程(067)—— MySQL 练习题:操作题 82-89(十一):数据的增、删、改操作
82、插入数据记录(1)
数据表:exam_record,表结构如下:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| uid | int(11) | NO | (NULL) | 用户ID | ||
| exam_id | int(11) | NO | (NULL) | 试卷ID | ||
| start_time | datetime | NO | (NULL) | 开始时间 | ||
| submit_time | datetime | YES | (NULL) | 提交时间 | ||
| score | tinyint(4) | YES | (NULL) | 得分 |
现有两个用户的答题记录详情如下:
(1)用户 1001 在 2021 年 9 月 1 日晚上 10 点 11 分 12 秒开始作答试卷 9001,并在 50 分钟后提交,得了 90 分;
(2)用户 1002 在 2021 年 9 月 4 日上午 7 点 1 分 2 秒开始作答试卷 9002,并在 10 分钟后退出了平台。
表 exam_record 的结构:
/* 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; */
解答:
/* insert into exam_record(uid, exam_id, start_time, submit_time, score) values(1001, 9001, '2021-9-1 22:11:12', '2021-9-1 23:01:12', 90); insert into exam_record(uid, exam_id, start_time, submit_time, score) values(1002, 9002, '2021-9-4 7:1:2', '2021-9-4 7:11:2', null); */
mysql> insert into exam_record(uid, exam_id, start_time, submit_time, score)
-> values(1001, 9001, '2021-9-1 22:11:12', '2021-9-1 23:01:12', 90);
:11:2', null);Query OK, 1 row affected (0.00 sec) mysql> insert into exam_record(uid, exam_id, start_time, submit_time, score) -> values(1002, 9002, '2021-9-4 7:1:2', '2021-9-4 7:11:2', null);
Query OK, 1 row affected (0.00 sec)
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2021-09-01 22:11:12 | 2021-09-01 23:01:12 | 90 |
| 2 | 1002 | 9002 | 2021-09-04 07:01:02 | 2021-09-04 07:11:02 | NULL |
+----+------+---------+---------------------+---------------------+-------+
2 rows in set (0.00 sec)
83、插入数据记录(2)
数据表:exam_record,结构如下。
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| uid | int(11) | NO | (NULL) | 用户ID | ||
| exam_id | int(11) | NO | (NULL) | 试卷ID | ||
| start_time | datetime | NO | (NULL) | 开始时间 | ||
| submit_time | datetime | YES | (NULL) | 提交时间 | ||
| score | tinyint(4) | YES | (NULL) | 得分 |
表 exam_record 中包含多年来用户作答试卷记录。创建一张新表 exam_record_before_2021(表结构和 exam_record 表一致) 用来备份 2021 年之前的试题作答记录,请将 2021 年之前的已完成了的试题作答纪录导入到该表。
表结构及数据如下:
/* 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; drop table if EXISTS exam_record_before_2021; CREATE TABLE IF NOT EXISTS exam_record_before_2021 ( 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; INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES (1001, 9001, '2020-01-01 09:00:01', null, null), (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:21:01', 70), (1001, 9002, '2020-09-02 09:00:01', null, null), (1002, 9001, '2021-05-02 10:01:01', '2021-05-02 10:30:01', 81), (1002, 9002, '2021-09-02 12:01:01', null, null); */
解答:
/* insert into exam_record_before_2021 select * from exam_record where start_time <= '2021-1-1' and submit_time is not null; */
mysql> select * from exam_record_before_2021;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 2 | 1001 | 9002 | 2020-01-02 09:01:01 | 2020-01-02 09:21:01 | 70 |
+----+------+---------+---------------------+---------------------+-------+
1 row in set (0.00 sec)
84、插入数据记录(3)
试题信息表:examination_info,表结构如下:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| exam_id | int(11) | NO | UNI | (NULL) | 试卷ID | |
| tag | varchar(32) | YES | (NULL) | 类别标签 | ||
| difficulty | varchar(8) | YES | (NULL) | 难度 | ||
| duration | int(11) | NO | (NULL) | 时长(分钟数) | ||
| release_time | datetime | YES | (NULL) | 发布时间 |
现有一套 ID 为 9003 的高难度 SQL 试卷,时长为一个半小时,请将 2021-01-01 00:00:00 作为发布时间插入到试题信息表(examination_info),不管该 ID 试卷是否存在,都要插入成功。
表结构及数据如下:
/* drop table if EXISTS examination_info; CREATE TABLE IF NOT EXISTS examination_info ( id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID', exam_id int UNIQUE NOT NULL COMMENT '试卷ID', tag varchar(32) COMMENT '类别标签', difficulty varchar(8) COMMENT '难度', duration int NOT NULL COMMENT '时长(分钟数)', release_time datetime COMMENT '发布时间' )CHARACTER SET utf8 COLLATE utf8_bin; TRUNCATE examination_info; INSERT INTO examination_info(exam_id,tag,difficulty,duration,release_time) VALUES (9001, 'SQL', 'hard', 60, '2020-01-01 10:00:00'), (9002, '算法', 'easy', 60, '2020-01-01 10:00:00'), (9003, 'SQL', 'medium', 60, '2020-01-02 10:00:00'), (9004, '算法', 'hard', 80, '2020-01-01 10:00:00'); */
mysql> select * from examination_info;
+----+---------+--------+------------+----------+---------------------+
| id | exam_id | tag | difficulty | duration | release_time |
+----+---------+--------+------------+----------+---------------------+
| 1 | 9001 | SQL | hard | 60 | 2020-01-01 10:00:00 |
| 2 | 9002 | 算法 | easy | 60 | 2020-01-01 10:00:00 |
| 3 | 9003 | SQL | medium | 60 | 2020-01-02 10:00:00 |
| 4 | 9004 | 算法 | hard | 80 | 2020-01-01 10:00:00 |
+----+---------+--------+------------+----------+---------------------+
4 rows in set (0.00 sec)
解答:
/* replace into examination_info(exam_id, tag, difficulty, duration, release_time) values(9003, 'SQL', 'hard', 90, '2021-01-01 00:00:00'); */
mysql> replace into examination_info(exam_id, tag, difficulty, duration, release_time)
-> values(9003, 'SQL', 'hard', 90, '2021-01-01 00:00:00');
Query OK, 2 rows affected (0.00 sec)
mysql> select * from examination_info;
+----+---------+--------+------------+----------+---------------------+
| id | exam_id | tag | difficulty | duration | release_time |
+----+---------+--------+------------+----------+---------------------+
| 1 | 9001 | SQL | hard | 60 | 2020-01-01 10:00:00 |
| 2 | 9002 | 算法 | easy | 60 | 2020-01-01 10:00:00 |
| 4 | 9004 | 算法 | hard | 80 | 2020-01-01 10:00:00 |
| 5 | 9003 | SQL | hard | 90 | 2021-01-01 00:00:00 |
+----+---------+--------+------------+----------+---------------------+
4 rows in set (0.00 sec)
85、更新数据记录(1)
现有一张试卷信息表:examination_info,表结构如下:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| exam_id | int(11) | NO | UNI | (NULL) | 试卷ID | |
| tag | char(32) | YES | (NULL) | 类别标签 | ||
| difficulty | char(8) | YES | (NULL) | 难度 | ||
| duration | int(11) | NO | (NULL) | 时长 | ||
| release_time | datetime | YES | (NULL) | 发布时间 |
请把 examination_info 表中 tag 列为【PYTHON】的数据全部修改为【Python】。
表结构及数据如下:
/* drop table if EXISTS examination_info; CREATE TABLE IF NOT EXISTS examination_info ( id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID', exam_id int UNIQUE NOT NULL COMMENT '试卷ID', tag varchar(32) COMMENT '类别标签', difficulty varchar(8) COMMENT '难度', duration int NOT NULL COMMENT '时长', release_time datetime COMMENT '发布时间' )CHARACTER SET utf8 COLLATE utf8_bin; TRUNCATE examination_info; INSERT INTO examination_info(exam_id,tag,difficulty,duration,release_time) VALUES (9001, 'SQL', 'hard', 60, '2020-01-01 10:00:00'), (9002, 'python', 'easy', 60, '2020-01-01 10:00:00'), (9003, 'Python', 'medium', 80, '2020-01-01 10:00:00'), (9004, 'PYTHON', 'hard', 80, '2020-01-01 10:00:00'); */
解答:
mysql> select * from examination_info;
+----+---------+--------+------------+----------+---------------------+
| id | exam_id | tag | difficulty | duration | release_time |
+----+---------+--------+------------+----------+---------------------+
| 1 | 9001 | SQL | hard | 60 | 2020-01-01 10:00:00 |
| 2 | 9002 | python | easy | 60 | 2020-01-01 10:00:00 |
| 3 | 9003 | Python | medium | 80 | 2020-01-01 10:00:00 |
| 4 | 9004 | PYTHON | hard | 80 | 2020-01-01 10:00:00 |
+----+---------+--------+------------+----------+---------------------+
4 rows in set (0.00 sec)
mysql> update examination_info set tag = 'Python' where tag = 'PYTHON';
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from examination_info;
+----+---------+--------+------------+----------+---------------------+
| id | exam_id | tag | difficulty | duration | release_time |
+----+---------+--------+------------+----------+---------------------+
| 1 | 9001 | SQL | hard | 60 | 2020-01-01 10:00:00 |
| 2 | 9002 | python | easy | 60 | 2020-01-01 10:00:00 |
| 3 | 9003 | Python | medium | 80 | 2020-01-01 10:00:00 |
| 4 | 9004 | Python | hard | 80 | 2020-01-01 10:00:00 |
+----+---------+--------+------------+----------+---------------------+
4 rows in set (0.00 sec)
86、更新数据记录(2)
现有一张试卷答题记录表:exam_record,表结构如下:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| uid | int(11) | NO | (NULL) | 用户ID | ||
| exam_id | int(11) | NO | (NULL) | 试卷ID | ||
| start_time | datetime | NO | (NULL) | 开始时间 | ||
| submit_time | datetime | YES | (NULL) | 提交时间 | ||
| score | tinyint(4) | YES | (NULL) | 得分 |
其中包含多年来的用户答题记录,请把 exam_record 表中 2021 年 9 月 1 日之前开始作答的未完成记录全部改为被动完成。即:将完成时间改为 ‘2099-01-01 00:00:00’,分数改为 0。
表结构及数据如下:
/* 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; INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES (1001, 9001, '2020-01-02 09:01:01', '2020-01-02 09:21:01', 80), (1001, 9002, '2021-09-01 09:01:01', '2021-09-01 09:21:01', 90), (1002, 9001, '2021-08-02 19:01:01', null, null), (1002, 9002, '2021-09-05 19:01:01', '2021-09-05 19:40:01', 89), (1003, 9001, '2021-09-02 12:01:01', null, null), (1003, 9002, '2021-09-01 12:01:01', null, null); */
解答:
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-02 09:01:01 | 2020-01-02 09:21:01 | 80 |
| 2 | 1001 | 9002 | 2021-09-01 09:01:01 | 2021-09-01 09:21:01 | 90 |
| 3 | 1002 | 9001 | 2021-08-02 19:01:01 | NULL | NULL |
| 4 | 1002 | 9002 | 2021-09-05 19:01:01 | 2021-09-05 19:40:01 | 89 |
| 5 | 1003 | 9001 | 2021-09-02 12:01:01 | NULL | NULL |
| 6 | 1003 | 9002 | 2021-09-01 12:01:01 | NULL | NULL |
+----+------+---------+---------------------+---------------------+-------+
6 rows in set (0.00 sec)
/* update exam_record set submit_time = '2099-01-01 0:0:0', score = 0 where start_time < '2021-9-1 0:0:0' and submit_time is null; */
mysql> update exam_record set submit_time = '2099-01-01 0:0:0', score = 0
-> where start_time < '2021-9-1 0:0:0' and submit_time is null;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-02 09:01:01 | 2020-01-02 09:21:01 | 80 |
| 2 | 1001 | 9002 | 2021-09-01 09:01:01 | 2021-09-01 09:21:01 | 90 |
| 3 | 1002 | 9001 | 2021-08-02 19:01:01 | 2099-01-01 00:00:00 | 0 |
| 4 | 1002 | 9002 | 2021-09-05 19:01:01 | 2021-09-05 19:40:01 | 89 |
| 5 | 1003 | 9001 | 2021-09-02 12:01:01 | NULL | NULL |
| 6 | 1003 | 9002 | 2021-09-01 12:01:01 | NULL | NULL |
+----+------+---------+---------------------+---------------------+-------+
6 rows in set (0.00 sec)
87、删除记录(1)
现有一张试卷答题记录表:exam_record,表结构如下表:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| uid | int(11) | NO | (NULL) | 用户ID | ||
| exam_id | int(11) | NO | (NULL) | 试卷ID | ||
| start_time | datetime | NO | (NULL) | 开始时间 | ||
| submit_time | datetime | YES | (NULL) | 提交时间 | ||
| score | tinyint(4) | YES | (NULL) | 得分 |
【问题】请删除 exam_record 表中答题时间小于 5 分钟整且分数不及格(及格线为60分)的记录;
表结构及数据如下:
/* 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; INSERT INTO exam_record(uid, exam_id, start_time, submit_time, score) VALUES (1001, 9001, '2020-01-01 22:11:12', '2020-01-01 23:16:12', 50), (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:06:00', 58), (1002, 9001, '2021-05-02 10:01:01', '2021-05-02 10:05:58', 60), (1002, 9002, '2021-06-02 19:01:01', '2021-06-02 19:05:01', 54), (1003, 9001, '2021-09-05 19:01:01', '2021-09-05 19:40:01', 49), (1003, 9001, '2021-09-05 19:01:01', '2021-09-05 19:15:01', 70), (1003, 9001, '2021-09-06 19:01:01', '2021-09-06 19:05:01', 80), (1003, 9002, '2021-09-09 07:01:02', null, null); */
解答:
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-01 22:11:12 | 2020-01-01 23:16:12 | 50 |
| 2 | 1001 | 9002 | 2020-01-02 09:01:01 | 2020-01-02 09:06:00 | 58 |
| 3 | 1002 | 9001 | 2021-05-02 10:01:01 | 2021-05-02 10:05:58 | 60 |
| 4 | 1002 | 9002 | 2021-06-02 19:01:01 | 2021-06-02 19:05:01 | 54 |
| 5 | 1003 | 9001 | 2021-09-05 19:01:01 | 2021-09-05 19:40:01 | 49 |
| 6 | 1003 | 9001 | 2021-09-05 19:01:01 | 2021-09-05 19:15:01 | 70 |
| 7 | 1003 | 9001 | 2021-09-06 19:01:01 | 2021-09-06 19:05:01 | 80 |
| 8 | 1003 | 9002 | 2021-09-09 07:01:02 | NULL | NULL |
+----+------+---------+---------------------+---------------------+-------+
8 rows in set (0.00 sec)
/* delete from exam_record where timediff(submit_time, start_time) < '00:05:00' and score < 60 or submit_time is null; */
mysql> delete from exam_record
-> where timediff(submit_time, start_time) < '00:05:00' and score < 60 or submit_time is null;
Query OK, 3 rows affected (0.00 sec)
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-01 22:11:12 | 2020-01-01 23:16:12 | 50 |
| 3 | 1002 | 9001 | 2021-05-02 10:01:01 | 2021-05-02 10:05:58 | 60 |
| 5 | 1003 | 9001 | 2021-09-05 19:01:01 | 2021-09-05 19:40:01 | 49 |
| 6 | 1003 | 9001 | 2021-09-05 19:01:01 | 2021-09-05 19:15:01 | 70 |
| 7 | 1003 | 9001 | 2021-09-06 19:01:01 | 2021-09-06 19:05:01 | 80 |
+----+------+---------+---------------------+---------------------+-------+
5 rows in set (0.00 sec)
88、删除记录(2)
现有一张试卷答题记录表:exam_record,表结构如下表:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| uid | int(11) | NO | (NULL) | 用户ID | ||
| exam_id | int(11) | NO | (NULL) | 试卷ID | ||
| start_time | datetime | NO | (NULL) | 开始时间 | ||
| submit_time | datetime | YES | (NULL) | 提交时间 | ||
| score | tinyint(4) | YES | (NULL) | 得分 |
【问题】请删除 exam_record 表中未完成作答或作答时间小于 5 分钟整的记录中,开始作答时间最早的 3 条记录。
表结构及数据如下:
/* 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; INSERT INTO exam_record(uid, exam_id, start_time, submit_time, score) VALUES (1001, 9001, '2020-01-01 22:11:12', '2020-01-01 23:16:12', 50), (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:06:00', 58), (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:05:01', 58), (1002, 9001, '2021-05-02 10:01:01', '2021-05-02 10:06:58', 60), (1002, 9002, '2021-06-02 19:01:01', null, null), (1003, 9001, '2021-09-05 19:01:01', null, null), (1003, 9001, '2021-09-05 19:01:01', null, null), (1003, 9002, '2021-09-09 07:01:02', null, null); */
解答:
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-01 22:11:12 | 2020-01-01 23:16:12 | 50 |
| 2 | 1001 | 9002 | 2020-01-02 09:01:01 | 2020-01-02 09:06:00 | 58 |
| 3 | 1001 | 9002 | 2020-01-02 09:01:01 | 2020-01-02 09:05:01 | 58 |
| 4 | 1002 | 9001 | 2021-05-02 10:01:01 | 2021-05-02 10:06:58 | 60 |
| 5 | 1002 | 9002 | 2021-06-02 19:01:01 | NULL | NULL |
| 6 | 1003 | 9001 | 2021-09-05 19:01:01 | NULL | NULL |
| 7 | 1003 | 9001 | 2021-09-05 19:01:01 | NULL | NULL |
| 8 | 1003 | 9002 | 2021-09-09 07:01:02 | NULL | NULL |
+----+------+---------+---------------------+---------------------+-------+
8 rows in set (0.00 sec)
/* delete from exam_record where timediff(submit_time, start_time) < '00:05:00' or submit_time is null order by start_time limit 3; */
mysql> delete from exam_record
-> where timediff(submit_time, start_time) < '00:05:00' or submit_time is null
-> order by start_time limit 3;
Query OK, 3 rows affected (0.00 sec)
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-01 22:11:12 | 2020-01-01 23:16:12 | 50 |
| 4 | 1002 | 9001 | 2021-05-02 10:01:01 | 2021-05-02 10:06:58 | 60 |
| 6 | 1003 | 9001 | 2021-09-05 19:01:01 | NULL | NULL |
| 7 | 1003 | 9001 | 2021-09-05 19:01:01 | NULL | NULL |
| 8 | 1003 | 9002 | 2021-09-09 07:01:02 | NULL | NULL |
+----+------+---------+---------------------+---------------------+-------+
5 rows in set (0.00 sec)
89、删除记录(3)
现有一张试卷答题记录表:exam_record,表结构如下表:
| Filed | Type | Null | Key | Extra | Default | Comment |
|---|---|---|---|---|---|---|
| id | int(11) | NO | PRI | auto_increment | (NULL) | 自增ID |
| uid | int(11) | NO | (NULL) | 用户ID | ||
| exam_id | int(11) | NO | (NULL) | 试卷ID | ||
| start_time | datetime | NO | (NULL) | 开始时间 | ||
| submit_time | datetime | YES | (NULL) | 提交时间 | ||
| score | tinyint(4) | YES | (NULL) | 得分 |
【问题】请删除 exam_record 表中所有记录,并重置自增主键。
表结构及数据如下:
/* 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; INSERT INTO exam_record(uid, exam_id, start_time, submit_time, score) VALUES (1001, 9001, '2020-01-01 22:11:12', '2020-01-01 23:16:12', 50), (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:06:00', 58); */
解答:
mysql> select * from exam_record;
+----+------+---------+---------------------+---------------------+-------+
| id | uid | exam_id | start_time | submit_time | score |
+----+------+---------+---------------------+---------------------+-------+
| 1 | 1001 | 9001 | 2020-01-01 22:11:12 | 2020-01-01 23:16:12 | 50 |
| 2 | 1001 | 9002 | 2020-01-02 09:01:01 | 2020-01-02 09:06:00 | 58 |
+----+------+---------+---------------------+---------------------+-------+
2 rows in set (0.00 sec)
mysql> truncate table exam_record;
Query OK, 0 rows affected (0.01 sec)
mysql> truncate table exam_record;
Query OK, 0 rows affected (0.01 sec)
边栏推荐
- 华为无线设备配置Mesh业务
- C陷阱与缺陷 第6章 预处理器 6.3 宏并不是语句
- Go新项目-编译热加载使用和对比,让开发更自由(3)
- C陷阱与缺陷 第6章 预处理器 6.1 不能忽视宏定义中的空格
- Daily practice------Generate 13-digit bar, Ean-13 code rule: The thirteenth digit is the check code obtained by the calculation of the first twelve digits.
- Express框架连接MySQL及ORM框架
- 万华化学精细化工创新产品大会
- S7-200SMART中定时器的使用方法和常见注意事项汇总
- Navisworks切换语言
- matlab simulink锂离子电池智能充电策略研究
猜你喜欢
随机推荐
如何让 JOIN 跑得更快?
大批程序员可能面临被劝退!
【综合类型第 34 篇】喜讯!喜讯!!喜讯!!!,我在 CSDN 的第一个实体铭牌
字符串复制、拼接、比较以及分割函数总结(一)
【云商店公告】关于7月30日帮助中心更新通知
WeChat applet picker scroll selector use detailed explanation
Express framework connects MySQL and ORM framework
bean的生命周期
链表Oj练习题 纯C语言
MySQL 8.0.29 解压版安装教程(亲测有效)
获得抖音商品详情 API
Is it reliable to work full-time in self-media?
Tensorflow中实现正则化
一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧
华为云数据治理生产线DataArts,让“数据'慧'说话”
un7.30:linux——如何在docker容器中安装MySQL?
FP6606CMP5 CPC-16L USB类型-C和PD充电控制器 百盛电子代理商
Google earth engine如何实现我们时间列表的排列和选取
Wanhua chemical fine chemical industry innovation product assembly
Microsoft Office 2019 software download and installation detailed tutorial!









