当前位置:   article > 正文

【SQL刷题】秋招刷爆SQL题之插入数据_sql代码量如何放简历里

sql代码量如何放简历里

博主昵称:跳楼梯企鹅
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;

牛客刷题:牛客刷题

前言

 首先,我作为今年大四的毕业生,今年的秋招太卷了,就业形势很难,很多同学秋招投了很多简历,都是石城大海,运气好的进了面试也是面试两轮就被刷下来了,博主是班上目前唯一一个找到心仪岗位,并且拿到了不错的薪资待遇的一个幸运儿,那么我是靠什么成功上岸的呢?

这里我就要给各位推荐一个网站对于刷题面试很友好----牛客网

一.刷题

我们刷题的目的主要还是学习,良性刷题,而且刷题其实总的来说,是对自己负责,所以希望各位小伙伴强迫自己刷下去,坚持就是胜利

第一题

题目

牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下:

  • 用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分;
  • 用户1002在2021年9月4日上午7点1分2秒开始作答试卷9002,并在10分钟后退出了平台。

试卷作答记录表exam_record中,表已建好,其结构如下,请用一条语句将这两条记录插入表中。

示例

  1. 输入:
  2. drop table if EXISTS exam_record;
  3. CREATE TABLE IF NOT EXISTS exam_record (
  4. id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
  5. uid int NOT NULL COMMENT '用户ID',
  6. exam_id int NOT NULL COMMENT '试卷ID',
  7. start_time datetime NOT NULL COMMENT '开始时间',
  8. submit_time datetime COMMENT '提交时间',
  9. score tinyint COMMENT '得分'
  10. )CHARACTER SET utf8 COLLATE utf8_general_ci;
  11. TRUNCATE exam_record;
  12. 输出:
  13. 1001|9001|2021-09-01 22:11:12|2021-09-01 23:01:12|90
  14. 1002|9002|2021-09-04 07:01:02|None|None

分析

首先我们需要表内有几个字段,按照字段顺序插入数据,数据库中最重要最基础的也就是增删改查,所以插入数据一定要看清楚字段和每个字段有没有显示,是否会出现插入后数据为空的情况。

答案

  1. insert into exam_record VALUES
  2. (
  3. null,1001,9001, "2021-09-01 22:11:12","2021-09-01 23:01:12",90
  4. ),
  5. (
  6. null,1002,9002, "2021-09-04 07:01:02",null,null
  7. )

第二题

题目

现有一张试卷作答记录表exam_record,结构如下表,其中包含多年来的用户作答试卷记录,由于数据越来越多,维护难度越来越大,需要对数据表内容做精简,历史数据做备份

示例

  1. 输入:
  2. drop table if EXISTS exam_record;
  3. CREATE TABLE IF NOT EXISTS exam_record (
  4. id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
  5. uid int NOT NULL COMMENT '用户ID',
  6. exam_id int NOT NULL COMMENT '试卷ID',
  7. start_time datetime NOT NULL COMMENT '开始时间',
  8. submit_time datetime COMMENT '提交时间',
  9. score tinyint COMMENT '得分'
  10. )CHARACTER SET utf8 COLLATE utf8_general_ci;
  11. CREATE TABLE IF NOT EXISTS exam_record_before_2021 (
  12. id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
  13. uid int NOT NULL COMMENT '用户ID',
  14. exam_id int NOT NULL COMMENT '试卷ID',
  15. start_time datetime NOT NULL COMMENT '开始时间',
  16. submit_time datetime COMMENT '提交时间',
  17. score tinyint COMMENT '得分'
  18. )CHARACTER SET utf8 COLLATE utf8_general_ci;
  19. TRUNCATE exam_record;
  20. TRUNCATE exam_record_before_2021;
  21. INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES
  22. (1001, 9001, '2020-01-01 09:00:01', null, null),
  23. (1001, 9002, '2020-01-02 09:01:01', '2020-01-02 09:21:01', 70),
  24. (1001, 9002, '2020-09-02 09:00:01', null, null),
  25. (1002, 9001, '2021-05-02 10:01:01', '2021-05-02 10:30:01', 81),
  26. (1002, 9002, '2021-09-02 12:01:01', null, null);
  27. 输出:
  28. 1|1001|9002|2020-01-02 09:01:01|2020-01-02 09:21:01|70

分析

首先我们需要表内有几个字段,按照字段顺序插入数据,数据库中最重要最基础的也就是增删改查,所以插入数据一定要看清楚字段和每个字段有没有显示,是否会出现插入后数据为空的情况。

答案

  1. INSERT INTO
  2. exam_record_before_2021(uid, exam_id, start_time, submit_time, score)
  3. SELECT
  4. uid,
  5. exam_id,
  6. start_time,
  7. submit_time,
  8. score
  9. FROM
  10. exam_record
  11. WHERE
  12. submit_time < '2021-01-01';

第三题

题目

现在有一套ID为9003的高难度SQL试卷,时长为一个半小时,请你将 2021-01-01 00:00:00 作为发布时间插入到试题信息表examination_info(其表结构如下图),不管该ID试卷是否存在,都要插入成功,请尝试插入它。

示例

  1. 输入:
  2. drop table if EXISTS examination_info;
  3. CREATE TABLE IF NOT EXISTS examination_info (
  4. id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
  5. exam_id int UNIQUE NOT NULL COMMENT '试卷ID',
  6. tag varchar(32) COMMENT '类别标签',
  7. difficulty varchar(8) COMMENT '难度',
  8. duration int NOT NULL COMMENT '时长(分钟数)',
  9. release_time datetime COMMENT '发布时间'
  10. )CHARACTER SET utf8 COLLATE utf8_bin;
  11. TRUNCATE examination_info;
  12. INSERT INTO examination_info(exam_id,tag,difficulty,duration,release_time) VALUES
  13. (9001, 'SQL', 'hard', 60, '2020-01-01 10:00:00'),
  14. (9002, '算法', 'easy', 60, '2020-01-01 10:00:00'),
  15. (9003, 'SQL', 'medium', 60, '2020-01-02 10:00:00'),
  16. (9004, '算法', 'hard', 80, '2020-01-01 10:00:00');
  17. 输出:
  18. 9001|SQL|hard|60|2020-01-01 10:00:00
  19. 9002|算法|easy|60|2020-01-01 10:00:00
  20. 9004|算法|hard|80|2020-01-01 10:00:00
  21. 9003|SQL|hard|90|2021-01-01 00:00:00

分析

首先我们需要表内有几个字段,按照字段顺序插入数据,数据库中最重要最基础的也就是增删改查,所以插入数据一定要看清楚字段和每个字段有没有显示,是否会出现插入后数据为空的情况。

答案

  1. DELETE FROM examination_info
  2. WHERE exam_id=9003;
  3. INSERT INTO examination_info
  4. VALUES(NULL,9003, 'SQL','hard', 90, '2021-01-01 00:00:00')

二.小结

来和企鹅一起刷题吧,点击右边链接传送这里哦

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/955499
推荐阅读
相关标签
  

闽ICP备14008679号