洞察纵观鸿蒙next版本,如何凭借FinClip加强小程序的跨平台管理,确保企业在数字化转型中的高效运营和数据安全?
525
2023-11-23
这篇文章主要讲解了“SQL增删改操作实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL增删改操作实例分析”吧!
插入记录
SQL1 插入记录(一)表exam_record结构
题目描述 牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下: 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分; 用户1002在2021年9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。 试卷作答记录表exam_record中,表已建好,其结构如下,请用一条语句将这两条记录插入表中。 该题最后会通过执行SELECTuid, exam_id, start_time, submit_time, scoreFROM exam_record; 来对比结果 建表语句 drop table if EXISTSexam_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 COLLATEutf8_general_ci;TRUNCATE exam_record; 答案 insert INTO exam_record values(null,1001,9001,2021-09-01 22:11:12,2021-09-01 23:01:12,90), (null,1002,9002,2021-09-04 07:01:02,null,null);SQL2 插入记录(二)表exam_record结构
题目描述 现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录, 由于数据越来越多,维护难度越来越大,需要对数据表内容做精简,历史数据做备份。 我们已经创建了一张新表exam_record_before_2021用来备份2021年之前的试题作答记录, 结构和exam_record表一致,请将2021年之前的已完成了的试题作答纪录导入到该表。 后台会通过执行"SELECT * FROMexam_record_before_2021;"语句来对比结果 建表语句drop table if EXISTS exam_record; CREATE TABLE IF NOT EXISTS exam_record ( id int PRIMARY KEYAUTO_INCREMENTCOMMENT 自增ID, uid int NOT NULL COMMENT 用户ID, exam_id int NOT NULL COMMENT 试卷ID, start_time datetimeNOT NULL COMMENT 开始时间, submit_time datetime COMMENT 提交时间, score tinyint COMMENT 得分 )CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE IF NOT EXISTS exam_record_before_2021 ( id intPRIMARYKEY 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 提交时间, scoretinyint COMMENT 得分 )CHARACTER SET utf8 COLLATE utf8_general_ci; TRUNCATE exam_record; TRUNCATEexam_record_before_2021;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 INTOexam_record_before_2021SELECT NULL,uid, exam_id, start_time, submit_time, score FROM exam_record WHERE submit_time < 2021-01-01 00:00:00; SQL3 插入记录(三)试题信息表examination_info结构
题目描述 现在有一套ID为9003的高难度SQL试卷,时长为一个半小时, 请你将 2021-01-01 00:00:00 作为发布时间插入到试题信息表examination_info,不管该ID试卷是否存在,都要插入成功,请尝试插入它。 后台会通过执行SELECT exam_id,tag,difficulty,duration,release_time FROM examination_info 语句来对比结果。 建表语句 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 类别标签, difficultyvarchar(8) COMMENT 难度, duration int NOT NULL COMMENT 时长(分钟数), release_time datetime COMMENT 发布时间 )CHARACTER SET utf8 COLLATE utf8_bin; TRUNCATE examination_info; INSERT INTOexamination_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); 答案 replace into examination_info (id,exam_id,tag,difficulty,duration,release_time) values(null,9003,SQL,hard,90,2021-01-01 00:00:00);2 更新记录SQL4 更新记录(一)现有一张试卷信息表examination_info,表结构如下图所示:
题目描述 请把examination_info表中tag为PYTHON的tag字段全部修改为Python。 后台会通过执行SELECT exam_id,tag,difficulty,duration,release_time FROM examination_info;语句来对比结果。 建表语句 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 类别标签, difficultyvarchar(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); 答案 UPDATE examination_info set tag =Python WHERE tag=PYTHON; SQL5 更新记录(二)作答记录表exam_record表结构
题目描述 现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录,submit_time为 完成时间 请把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 datetimeNOT 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); 答案 UPDATE exam_record set submit_time=2099-01-01 00:00:00, score=0 WHERE start_time<2021-09-01 and submit_time is null;3 删除记录 SQL6 删除记录(一)作答记录表exam_record表结构,start_time是试卷开始时间,submit_time 是交卷,即结束时间
题目描述 现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录, start_time是试卷开始时间 submit_time 是交卷,即结束时间 请删除exam_record表中作答时间小于5分钟整且分数不及格(及格线为60分)的记录; 后台会执行您的SQL,然后通过SELECT * FROM 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 datetimeNOT NULL COMMENT 开始时间, submit_time datetime COMMENT 提交时间, score tinyint COMMENT 得分 )CHARACTER SET utf8 COLLATE utf8_general_ci; TRUNCATE exam_record; INSERT INTOexam_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); 答案 delete from exam_record where timestampdiff(minute,start_time,submit_time) < 5 and score < 60;SQL7 删除记录(二)作答记录表exam_record结构如下:
题目描述 现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录,start_time是试卷开始时间 submit_time 是交卷时间,即结束时间,如果未完成的话,则为空 请删除exam_record表中未完成作答或作答时间小于5分钟整的记录中,开始作答时间最早的3条记录。 后台会通过SELECT * FROM exam_record 语句来对比结果。 建表语句 drop table if EXISTSexam_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 COLLATEutf8_general_ci;TRUNCATE exam_record; INSERT INTOexam_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); 答案 delete from exam_record where timestampdiff(minute, start_time, submit_time) < 5 or submit_time is null order by start_time limit 3;SQL8 删除记录(三)试卷作答记录表exam_record表结构
题目描述 现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录, 请删除exam_record表中所有记录,并重置自增主键。 后台会通过SELECT table_rows, auto_increment FROM information_schema.tables WHEREtable_name=exam_record语句来对比输出结果 建表语句 drop table if EXISTS exam_record; CREATE TABLE IF NOT EXISTSexam_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); 答案TRUNCATE table exam_record;感谢各位的阅读,以上就是“SQL增删改操作实例分析”的内容了,经过本文的学习后,相信大家对SQL增删改操作实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~