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

大连最好的网站制作公司腾讯推广平台

大连最好的网站制作公司,腾讯推广平台,招聘网官方网站,网页设计图片主流尺寸大家好,我是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.hkea.cn/news/434363/

相关文章:

  • 英文网站设计哪家好免费网站搭建
  • 网站建设公司 销量深圳谷歌seo公司
  • 新蔡哪有做网站建设的全球疫情今天最新消息
  • 怎么做平台网站百度seo报价方法
  • 帮人做网站 怎么收费怎么用网络推广
  • 网站排名优化建设百度广告投放技巧
  • 文件服务器网站搭建教程好的竞价托管公司
  • 黑龙江省城乡和住房建设厅网站首页百度链接地址
  • 网站模板修改工具专业seo关键词优化
  • 口碑好的句容网站建设yahoo搜索
  • 深圳网站建设外贸公司价格网络营销的背景和意义
  • 长春网站建设硕成传媒seo快速排名优化公司
  • web网站开发能使用c 吗免费建立个人网站申请
  • 织梦网站修改教程视频网站优化培训学校
  • 南沙区交通和建设局网站中国十大网络销售公司
  • 免费建设网站的方法百度网址大全 官网
  • 手机网站设计制作公司微信推广费用一般多少
  • 建设网站需要什么注册域名费用一般多少钱
  • 女性门户网站源码百度指数功能有哪些
  • 怎么帮公司做网站建设谷歌搜索引擎免费入口 香港
  • 请写出网站建设前期需要做的准备外贸定制网站建设电话
  • 南京门户网站建设网络营销优秀案例
  • 2012服务器如何做网站周口网络推广哪家好
  • 贵阳搜索玩的网站网络舆情软件免费入口
  • 前端自己写代码建网站要花多少钱游戏推广在哪里接活
  • 网站建设中+网页代码nba最新排名东西部
  • 东莞企业建设网站官网有限公司百度推广深圳分公司
  • 海外推广工作内容搜索引擎优化seo是什么
  • wordpress 发短信西安网络优化大的公司
  • dreamweaver个人网站南宁求介绍seo软件