牛客网数据库刷题部分总结

一、时间差 timestampdiff

在这里插入图片描述
给了试卷开始和结束时间,要的是作答时间,就需要用到时间差:

timestampdiff (interval, time_start, time_end)计算结束时间和开始时间相隔的时间差,interval指的是时间单位,主要有:

second,秒;
minute,分钟(返回的秒数整除以60的整数部分);
hour,小时(返回的秒数整除以3600的整数部分);
month,月数;
day,天数;
year,年数

答案:

delete from exam_record
where timestampdiff(minute,start_time , submit_time)< 5 
and score<60;

二、修改表alter

题目:
在这里插入图片描述
1、alter table语句用来在表中添加、修改、删除数据,具体操作如下:

  • 添加
alter table 表名 add 要添加的列 datatype;
  • 修改
alter table 表名 change 新列名 旧列名 datatype;
  • 删除
alter table 表名 drop 列名;
  • modify主要是修改列的属性(默认值、自增等属性)
alter table 表名 modify 列名 datatype 属性;

2、将列名添加到指定列的后面,使用after关键字

alter table 表名 add 新列名 datatype after 制定列名;

3、答案:
在这里插入图片描述

三、索引的创建删除和使用

题目:
在这里插入图片描述
答案:
在这里插入图片描述
或者
在这里插入图片描述

1、索引分类:

  • 普通索引 index
    没有任何限制,可以为空值、重复值等;
  • 唯一索引 unique index
    索引值唯一,可以允许空值,但不能重复值;
  • 主键索引 primary index
    在唯一索引的基础上,列上的数值为主键;
  • 全文索引 fulltext
    对表中所有字符(char、varchar、text)进行索引;
    -组合索引 遵循最左前缀原则
    只有执行了第一个索引生效后才能执行下一个索引

2、索引创建的几种方法:

举例对象:表(exam),普通索引(index)

create语句创建

create index 索引名 on table_name(列名);
举例:
create index idx1 on table exam (id);  
#在表exam的id列建立普通索引idx1
create unique index idx2 on table exam (id);  
#在表exam的id列建立唯一索引idx2

alter语句创建

alter table 表名 add index 索引名(插入的列名);
举例:
alter table exam add index idx2(name);
#给exam的name列,添加普通索引idx2

3、删除索引

drop方法删除

drop index 索引名 from 表名;
举例:
drop index idx3 on exam;
# 删除exam表里面的索引idx3
drop index idx4 on exam;
# 删除exam表里的唯一/全文/主键索引idx4

不管是什么类型的索引,drop后面都是跟index,而不是unique index、fulltext index之类的名字

alter方法删除

alter table 表名 drop index 索引名;
举例:
alter table exam drop index idx3;
#删除exam表中的普通/唯一/全文/主键索引idx3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值