当前位置: 首页 > news >正文

建设投资基金管理有限公司网站网站建设岗位需要解决的问题

建设投资基金管理有限公司网站,网站建设岗位需要解决的问题,Ie8网站后台编辑文章,做网站的技术要求大家好,我是RecordLiu! 今天给大家分享的是SQL中删除记录的不同方式,我会用几道真题来给大家讲解。 题目直达链接: 牛客网在线SQL编程练习 切换到SQL篇就能看到了。 我这里先列下知识点: SQL中进行简单删除的语法是什么?SQL…

大家好,我是RecordLiu!

今天给大家分享的是SQL中删除记录的不同方式,我会用几道真题来给大家讲解。

题目直达链接:

牛客网在线SQL编程练习

切换到SQL篇就能看到了。

我这里先列下知识点:

  1. SQL中进行简单删除的语法是什么?
  2. SQL中如何限定条数删除记录?
  3. SQL中如何清空表记录并重置自增长ID主键的值?

接下来,我们详细看看。

题目1:简单删除

描述

exam_record是一张试卷作答记录表,其中包含多年来的用户作答试卷记录,结构如下表:

作答记录表exam_record中:
start_time是试卷开始时间
submit_time 是交卷,即结束时间。

请删除exam_record表中作答时间小于5分钟整且分数不及格(及格线为60分)的记录。

题解

SQL中删除记录可以使用以下语法:

DELETE FROM tableName [WHERE xxx]

同样,跟update语句一样,在不指定where条件下,delete会把表里面的记录全部删除,这点是需要特别注意的,不加where条件的delete语句相当危险,线上应该避免这样的操作。

这道题的难点在于判断作答时间小于5分钟,作答时间我们知道,可以用结束时间减去开始时间得到。

观察exam_record可以发现,start_time和submit_time设置的都是datetime类型,即它们存储的是2020-01-01 22:11:12这样格式的数据,是一个时间字符串,这样就不能直接相减了。

一种办法是可以使用unix_timestamp 函数,将start_time和submit_time的值转化成时间戳格式(即时间对应的秒数),在判断相差小于300秒(5分钟*60=300秒),SQL代码如下:

DELETE FROM exam_record
WHERE (UNIX_TIMESTAMP(submit_time) - UNIX_TIMESTAMP(start_time))<300
AND score<60;

另一种办法是可以使用timestampdiff函数来实现。

timestampdiff函数的具体用法为:

timestampdiff(interval,datetime1,datetime2)

其中,比较单位interval取值可以为以下:

  • second 秒数
  • minute 分钟
  • hour 小时
  • day 天
  • month 月
  • year 年

比如为minute,timestampdiff最终的结果为datetime1和datetime2相差的秒数对60取整之后的值。

这道题用timestampdiff的写法为:

DELETE FROM exam_record
WHERE timestampdiff(minute,start_time,submit_time)<5
AND score<60;

题目2:限定条数删除

描述

请删除exam_record表中未完成作答或作答时间小于5分钟整的记录中,开始作答时间最早的3条记录。

exam_record的表结构如题目1。

题解

未完成作答,即submit_time为NULL的,作答时间小于5分钟,可以用timestampdiff函数来比较。

这道题多了一个限定条件,开始作答时间最早的3条记录,即我们要根据开始作答时间排序后再取前3条记录,代码实现如下:

DELETE FROM exam_record
WHERE TIMESTAMPDIFF(MINUTE, start_time, submit_time) < 5
OR submit_time IS NULL
ORDER BY start_time ASC LIMIT 3;

题目3:清空表记录

描述

请删除exam_record表中所有记录,并重置自增主键。

exam_record的表结构如题目1。

题解

delete语句在不加where条件下,会删除所有记录的数据,但并不会重置自增主键。

因此这道题使用以下语句是不行的:

delete from exam_record

而使用truncate语法,就可以删除表中所有记录,并且重置自增主键。

代码实现如下:

truncate table exam_record;

好了,今天的文章就分享到这里了,如果觉得我的文章对你有帮助,欢迎多分享给你身边的朋友。

我们下期再见!

http://www.yayakq.cn/news/627616/

相关文章:

  • 自己做网站能挣钱吗在线设计免费
  • 好看的网页源码网站首页seo怎么做
  • 服装公司网站结构网站设计如何在ps先做
  • 做梯子的企业网站怎样学好动漫制作专业
  • 搜网站网从化网站建设服务
  • 公司网站在百度搜不到网站设计与开发未来发展方向
  • 软装公司网站建设手机网站用什么制作
  • 优秀的网站有哪些内容58同城网站推广
  • 查看公司信息的网站北京住房建设厅网站
  • 蓝色系网站宜春做网站公司怎么样
  • 做我的奴隶腾讯网站七牛加速 wordpress
  • wordpress 网站很卡屏蔽ip地址访问网站
  • 织梦怎么做企业网站饮料网站模板
  • 网站的域名每年都要续费wordpress淘点金
  • 深圳装修公司网站自己做网站的成本
  • 电脑做网站泊头网站制作案例
  • 哪个网站上可以做外贸重庆做网络优化公司电话
  • 集团网站建设哪家好google移动服务应用优化
  • 套模板做网站 链接怎么做深圳企业网络推广运营技巧
  • wordpress 站内搜索网络推广方案
  • dedecms 获取网站地址无网站营销
  • 网站上传后如何设置首页免费聊天软件不收费
  • 建设银行平潭招聘网站广州海珠建网站
  • 学做系统的网站什么网站可以直接做word
  • 国外网站排行榜网站开发必须要用js
  • 网站没排名的原因北京网站平台开发
  • wordpress建立网站吗视频制作软件大全免费版
  • 淘宝客不建网站怎样做网站功能模块结构图
  • 平台设计网站公司电话小网站广告投放
  • 哪里有最新的网站源码北京免费建站