SQL进阶篇
题霸-SQL进阶
SQL1 插入记录
插入:insert into 表名 values …
使用INTERVAL关键字实现对DATETIME字段的操作,例如这里结束时间是在开始开始时间后的50分钟:
‘2021-09-01 22:11:12’ + INTERVAL 50 minute
1 |
|
不管该ID试卷是否存在,都要插入成功,
1 |
|
更新数据update
1 |
|
SQL6 删除记录(一)
请删除exam_record表中作答时间小于5分钟整且分数不及格(及格线为60分)的记录;
值得注意的是这,里用到了一个timestampdiff函数:
TIMESTAMPDIFF(unit,begin,end);
其作用是返回begin-end的结果——时间差
unit参数是确定(end-begin)的结果的单位,表示为整数。 以下是有效单位:
1 |
|
1 |
|
truncate table
SQL8 删除记录(三)
请删除exam_record表中所有记录,并重置自增主键。
truncate table 在功能上,与不带where字句的delete语句相同;
二者均删除表中的全部行,但truncate table 比delete速度更快,且使用的系统和事务日志资源少。 truncate 删除表中的所有行,但表的结构及其列,约束,索引等保持不变。新行标识所用的技术值重置为该列的种子(对表结构中自增列的重置)。
如果想保留标识计数值,请使用delete 。
如果要删除表定义及其数据,请使用drop table 语句。
create table
SQL9 创建一张新表
创建一张优质用户信息表user_info_vip,表结构和用户信息表一致
1 |
|
create table if not exists user_info_vip:如果不存在此表,则创建
设置默认值:default 值
例如将register_time的默认值设置为当前的时间,也就是当插入一条数据时,默认将注册时间设置成当前时间:DEFAULT current_timestamp
设置注释:COMMENT ‘注释内容’
alter table
1、 添加列
Alter table 表名add column 列名 类型;(默认添加到表的最后一列)
【first|after 字段名】可以指定位置
Eg:alter table employees add column full_name varchar after last_name;
2、 修改列的类型或约束
Alter table 表名 modify column 列名 新类型【新约束】;
3、 修改列名
Alter table 表名 change column 旧列名 新列名 类型;
4、 删除列
Alter table 表名 drop column 列名;
5、 修改表名
Alter table 表名 rename 【to】新表名;
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!