SQL中的疑难点

delete和drop两个删除的区别

两者最主要的区别就是:
delete主要用于删除表中的数据,表的结构依然存在。delete执行语句后还有个提交的过程,所以来说运行速度比drop慢上一些,而drop则是一步完成。
drop删除的是整个表的结构和数据,要注意使用drop时记得备份数据,不然删除后数据就找不回来了。

having和where的区别

1 执行顺序:where语句>group by>聚合函数>Having
2 having子句中可以使用聚合函数,where语句中不可以使用聚合函数
3.having 是对聚合后的结果进行有条件的过滤,而where是在聚合前就对记录进行过滤,如果逻辑允许,我们尽可能用where先过滤记录,这样因为结果集减小,将对聚合的效率大大提高,最后再根据逻辑看是否用having进行再过滤。
需要注意的是having并不是一定要和group by连用,但是绝大部分情况下,都会一起用。

一些注意事项

往往我们在运行代码时会碰到1175的错误,那么我们应该怎么做呢?只需要一步如下:

set sql_safe_updates = 0;

只需要这一步就可以啦!

我们在修改数据表时一定要注意要带上数据类型如下:

– 例:将数据表empdep中depname字段的字段名改为dep
alter table empdep change depname dep varchar(30);
– 例:将数据表empdep中dep字段的字段名改回为depname,并将该字段数据类型该会为varchar(20)
alter table empdep change dep depname varchar(20);
– 例:将数据表empdep中maname字段的排列顺序改为第一位
alter table empdep modify maname varchar(10) first;
– 例:将数据表emp中maname字段的排列顺序改到depid字段之后
alter table empdep modify maname varchar(10) after depid;

还有一些重要的小知识点:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
希望能帮到诸位,在下告辞,预知后事如何,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值