SQL删除记录方式汇总
大家好,我是RecordLiu!
今天给大家分享的是SQL中删除记录的不同方式,我会用几道真题来给大家讲解。
题目直达链接:
牛客网在线SQL编程练习
切换到SQL篇就能看到了。

我这里先列下知识点:
- SQL中进行简单删除的语法是什么?
- SQL中如何限定条数删除记录?
- 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;
好了,今天的文章就分享到这里了,如果觉得我的文章对你有帮助,欢迎多分享给你身边的朋友。
我们下期再见!
相关文章:
SQL删除记录方式汇总
大家好,我是RecordLiu! 今天给大家分享的是SQL中删除记录的不同方式,我会用几道真题来给大家讲解。 题目直达链接: 牛客网在线SQL编程练习 切换到SQL篇就能看到了。 我这里先列下知识点: SQL中进行简单删除的语法是什么?SQL…...
用in函数嵌入子查询作为条件时查出结果为空
用in函数嵌入子查询作为条件时查出结果为空 问题: SELECT * FROM SGGCDB_VIEW sv WHERE RES_ID IN (SELECT urrv.RES_ID FROM IBPS_ERP.USER_ROLE_RES_VIEW urrv WHERE urrv.ID_ 1069978138403930112 )结果未空值。 原因: 首先,SELECT u…...
电商行业如何利用飞项解决跨部门协作难题
在电商行业中,跨部门合作是最常见的事。从产品方案到设计方案,从市场定价到销售策略,从采购需求到成本清单……在电商新品研发到正式售卖的过程中,存在着大量跨部门协作与逆向流程,但任务零碎、沟通难、进度难同步、文…...
全网最详细,Jmeter性能测试-性能基础详解,参数化函数取值(二)
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 参数化详解 Jmeter中…...
选择排序的简单理解
详细描述 选择排序的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾…...
使用js封装一个循环链表
直接不说废话,直接上代码,这里继承了单向链表的类LinkList ,可以查看之前的文章,点这里 class Node {constructor(element) {this.element element;this.next null;} }class CirularLinkedList extends LinkList {constructor(…...
NumPy 秘籍中文第二版:二、高级索引和数组概念
原文:NumPy Cookbook - Second Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 在本章中,我们将介绍以下秘籍: 安装 SciPy安装 PIL调整图像大小比较视图和副本翻转 Lena花式索引位置列表索引布尔值索引数独的步幅技巧广播数…...
新品-图灵超频工作站GT430M介绍
曾经历史 UltraLAB GTxxxM系列是西安坤隆公司专注于超频高速计算应用的图形工作站。 2008年 获取排名第一、二的中国象棋软件均采用该机型。 2019年 推出采用Intel 超频Xeon(28核4.8GHz)显著提升电磁仿真频域算法求解、第一个解决8K视频解码与渲染。 今…...
js时间格式化精确到毫秒
/*** 数字前置补零* param value 值* param length 位数* returns {string}*/ export function digit(value, length 2) {if (typeof value "undefined" ||value null ||String(value).length > length) {return value;}return (Array(length).join("0&qu…...
QT样式表详解
本文详细介绍qt的样式表,包含样式表如何使用,常见语句和选择器。 背景说明 样式表用于设置外观,他是设置控件外观的方式之一。其他方式如下: 控件的成员函数,如QWidget::setBackground样式表调色板 优先级依次提高…...
最值得入手的好物有哪些,推荐几款实用的数码好物
随着科技的进步,越来越多的数码产品不断的出现在我们的生活中,这其中也不乏一些实用的数码产品,让我们可以享受更舒适的生活,提高我们的工作效率。下面就给大家分享几款我最近使用过的一些数码产品,它们不仅功能强大而…...
【20230407】NVIDIA显卡算力、Jetson比较
1 基本概念 1.1 算力单位 TOPS:指的是每秒钟可以执行的整数运算次数,它代表着计算机在处理图像、音频等任务时的处理能力。TOPS的单位是万亿次每秒(trillion operations per second)。一般是指整数运算能力INT8。 TFLOPS&#…...
dsl语法
查询 1.查询所有(默认有分页查询) #查询所有 GET /hotel/_search {"query": {"match_all": {}} } 2.match查询(条件查询)-----包含四川和外滩的信息,信息匹配度越高越靠前,两者存在一…...
不让CPU偷懒
文章资料摘自——《程序员的自我修养》 为了防止cpu执行完该程序后需要等待程序员手动加入下一个程序,才可以继续运行,这里大大浪费了cpu的效率,要知道cpu是十分昂贵的。 多道程序 在计算机发展的早期,CPU使用十分不方便&#x…...
动力节点王鹤SpringBoot3笔记——第七章 视图技术Thymeleaf
目录 第七章 视图技术Thymeleaf 前言 7.1 表达式 7.2 if-for 第七章 视图技术Thymeleaf 前言 Thymeleaf 是一个表现层的模板引擎, 一般被使用在 Web 环境中,它可以处理 HTML, XML、 JS 等文档,简单来说,它可以将 JSP 作…...
从比特保存和信息保存看数字资源长期保存
引用IBM以色列海法实验室的观点,数字资源长期保存包含两个层面含义,即比特保存与信息保存。也就是说,要实现数字资源的长期保存,必须同时做到比特保存和信息保存。 一 概念 01 比特保存,也叫物理保存,主…...
兰伯特光照模型(Lambert Lighting)和半兰伯特光照模型(Half-Lanbert)
关于漫反射 光打到凹凸不平的平面上,光线会被反射到四面八方,被称为漫反射 关于这种模型,由于光线由于分散,所以进入人眼的光线强度和观察角度没有区别 在A点和B点接收到的光线强度是一样的 在漫反射下,光线强度只和光…...
Python 进阶指南(编程轻松进阶):二、环境配置和命令行
原文:http://inventwithpython.com/beyond/chapter2.html 环境配置是配置你的计算机环境,以便你写代码的过程。这包括安装任何必要的工具,配置它们,以及处理安装过程中的任何问题。没有一键配置这种傻瓜式操作过程,因为…...
求职半年,三月成功拿到阿里offer,分享一波面经...
前言 不论是校招还是社招都避免不了各种⾯试、笔试,如何去准备这些东⻄就显得格外重要。不论是笔试还是⾯试都是有章可循的,我这个“有章可循”说的意思只是说应对技术⾯试是可以提前准备,所谓不打无准备的仗就是这个道理。 以下为大家&…...
餐饮店的运营需要考虑哪些方面
餐饮店的运营需要多方面的考虑和规划,以下是传递宝APP上一些常用的餐饮店运营方法: 1.定位:明确餐饮店的定位和目标客户群体,针对不同的客户需求,提供个性化的服务和产品,比如是附近的上班族,还…...
对比直接使用厂商 API 体验 Taotoken 在模型切换上的便利性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商 API 体验 Taotoken 在模型切换上的便利性 在个人开发项目中接入大模型时,开发者通常面临一个选择&am…...
AI智能体生态的包管理器:agenticmarket-cli 设计与实践
1. 项目概述:一个面向AI智能体生态的命令行工具如果你和我一样,长期在AI智能体(Agent)这个领域里折腾,那你肯定经历过这样的场景:为了测试一个最新的开源智能体框架,你需要先找到它的GitHub仓库…...
从SD卡初始化到读写文件:一个完整嵌入式项目中的SDIO驱动避坑实践
从SD卡初始化到读写文件:嵌入式SDIO驱动实战全解析 在嵌入式系统开发中,SD卡因其高容量、低成本和便携性成为数据存储的首选方案。然而,看似简单的SD卡接口背后隐藏着复杂的初始化协议和时序要求。许多工程师在项目初期都会遇到SD卡无法识别、…...
ViGEmBus终极指南:Windows游戏控制器模拟驱动完全解析
ViGEmBus终极指南:Windows游戏控制器模拟驱动完全解析 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus是一款运行在Windows内核模式的驱…...
【优化交叉口的绿灯时间】基于遗传算法的交通灯管理研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
qmcdump终极指南:三步解锁QQ音乐加密音频文件
qmcdump终极指南:三步解锁QQ音乐加密音频文件 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 还在为QQ音乐下…...
终极指南:3步掌握yfinance金融数据获取与智能修复实战
终极指南:3步掌握yfinance金融数据获取与智能修复实战 【免费下载链接】yfinance Download market data from Yahoo! Finances API 项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance yfinance是一个强大的Python库,能够从Yahoo! Finan…...
VectorDBBench:向量数据库性能基准测试工具详解与实战
1. 项目概述:向量数据库性能测试的“瑞士军刀”如果你正在评估或使用向量数据库,那么你一定遇到过这个灵魂拷问:“这么多产品,到底哪个最适合我的场景?”是选名声在外的老牌劲旅,还是选后起之秀的专精选手&…...
Arm CoreLink PCK-600电源管理架构与寄存器编程详解
1. Arm CoreLink PCK-600电源控制架构解析在嵌入式系统设计中,电源管理单元(PMU)是实现高效能耗控制的核心组件。Arm CoreLink PCK-600作为业界领先的电源控制解决方案,其架构设计体现了现代SoC电源管理的先进理念。PCK-600系列采…...
数据分析师能力展示:从项目构建到报告呈现的完整指南
1. 项目概述:一个数据分析师的能力展示平台最近在GitHub上看到一个挺有意思的项目,叫“dataanalyst-showcase”。光看名字,你可能会觉得这又是一个数据科学项目合集,但点进去仔细研究后,我发现它的定位非常精准——它不…...
