【SQL进阶】【REPLACE/TIMESTAMPDIFF/TRUNCATE】Day01:增删改操作
2024-09-08 14:25:54
一、插入记录
1、插入多条记录
自己的答案:
INSERT INTO exam_record(uid, exam_id, start_time, submit_time, score)
VALUES (1001,9001,'2021-09-01 22:11:12','2021-09-01 23:01:12',90),
(1002,9002,'2021-09-04 07:01:02',null,null);
参考答案:
插入时,置空,可以自增【无需指定列名】
【间隔50分钟,可以直接使用+ INTERVAL 50 minute,无需手动计算
INSERT INTO exam_record
VALUES (null,1001,9001,'2021-09-01 22:11:12','2021-09-01 22:11:12' + INTERVAL 50 minute,90),
(null,1002,9002,'2021-09-04 07:01:02',null,null);
2、数据备份导入新表【查到的数据插入】
插入的是具体数据还是查出来的数据【用不同的符号表示】
INSERT INTO exam_record_before_2021(uid,exam_id,start_time,submit_time,score) -- VALUE用于填具体值,无具体值不用加
SELECT uid,exam_id,start_time,submit_time,score FROM exam_record
WHERE submit_time < '2021-01-01 00:00:00'
3、插入id可能存在的记录
方式:使用REPLACE代替INSERT
REPLACE INTO examination_info
VALUES(null,9003,'SQL','hard',90,'2021-01-01 00:00:00');
二、更新记录
1、更新某一字段
UPDATE examination_info SET tag='Python' WHERE tag='PYTHON'
2、更新多个属性【用逗号】
注意:判空条件为IS NULL,日期为<
UPDATE exam_record
SET submit_time='2099-01-01 00:00:00', score=0
WHERE submit_time IS NULL AND start_time<'2021-09-01 00:00:00'
三、删除记录
1、删除时间间隔小于5分钟
思路:timestampdiff后大前小
DELETE FROM exam_record
WHERE timestampdiff(minute,start_time,submit_time)<5 AND score<60
2、删除开始作答时间最早的3条记录[LIMIT]
DELETE FROM exam_record
WHERE submit_time IS NULL OR TIMESTAMPDIFF(minute,start_time,submit_time)<5
ORDER BY start_time LIMIT 3
3、删除后重置自增主键
清空数据并重建表结构
TRUNCATE exam_record
最新文章
- Hibernate(2)——Hibernate的实现原理总结和对其模仿的demo
- 【C#公共帮助类】FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作
- .Net模拟提交表单
- Matlab 进阶学习记录
- 最新Sublime Text 2 激活 汉化
- Appium Java Windows环境搭建篇
- C#:类和结构的区别
- 基于MVC4+EasyUI的Web开发框架形成之旅--权限控制
- KVC实现原理简介
- cocos2dx js文件加密为jsc文件
- 编程语言大牛王垠:编程的智慧,带你少走弯路 [本文转载CocoaChina]
- Swift - 解析JSON数据(内置NSJSONSerialization与第三方JSONKit)
- android之Fragment(官网资料翻译)
- windows phone 8.1开发:(消息弹出框)强大的ContentDialog
- Spark Shuffle模块——Suffle Read过程分析
- R语言学习——数据合并及绘制密度分布曲线图
- 2017-12-15python全栈9期第二天第五节之while else的用法二当不被break打断时else内容的结果会被打印
- VS 2017常用快捷键
- 计算机网络【4】—— TCP和UDP的区别
- html中一些莫名的空格
热门文章
- #css#如何使用hover,实现父对子的样式改变?
- [基础] BS/CS 区别 Http/Https 区别 中间件请求
- 手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集(含源码)
- nsis制作新版迅雷安装界面
- HDU3507 print article (斜率优化DP)
- Bert不完全手册9. 长文本建模 BigBird &; Longformer &; Reformer &; Performer
- set 学习笔记
- C++函数模板和类模板的使用
- Filter 筛选器(一)之 ActionFilter-- IAsyncActionFilter 和 ActionFilterAttribute
- get,post,put,delete四种基础方法对应增删改查