您好,欢迎访问一九零五行业门户网

详细介绍SQL增删改操作

本篇文章给大家带来了关于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中,表已建好,其结构如下,请用一条语句将这两条记录插入表中。该题最后会通过执行select uid, exam_id, start_time, submit_time, score 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 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 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 * from exam_record_before_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;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;truncate exam_record;truncate exam_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 into exam_record_before_2021select null,uid, exam_id, start_time, submit_time, scorefrom exam_recordwhere 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 '类别标签',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'); 答案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 '类别标签',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'); 答案update examination_infoset 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 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); 答案update exam_recordset submit_time='2099-01-01 00:00:00',    score=0where 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 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); 答案delete from exam_recordwhere 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 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); 答案delete from exam_recordwhere timestampdiff(minute, start_time, submit_time) < 5or submit_time is nullorder by start_timelimit 3;
sql8 删除记录(三) 试卷作答记录表exam_record表结构
题目描述现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录,请删除exam_record表中所有记录,并重置自增主键。后台会通过select table_rows, auto_increment from information_schema.tables where table_name='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); 答案truncate table  exam_record;
推荐学习:《sql教程》
以上就是详细介绍sql增删改操作的详细内容。
其它类似信息

推荐信息