sql 容易被忽视的点
Posted 小仙漫游web前端世界平凡琐事记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 容易被忽视的点相关的知识,希望对你有一定的参考价值。
1 dual
select查询语句只有select就可以,但为了规范,凑结构,可以加个dual
例:select now() from dual;
这个概念是Oracle中的。在mysql中可写可不写。
2 drop,delete,truncate的区别
drop用于删除数据库,数据表的字段,删除表
delect:
1)可以带条件删除
2)可以删除全表数据,但只能删除表的数据,不能删除表的约束
使用delete from删除的数据可以回滚
truncate用于删除全表的数据
1)不能带条件删除
2)即可以删除表的数据,也可以删除表的约束
3)使用truncate table删除的数据不能回滚
3 连接查询
注意格式:select 要查的字段(这里如果有重复的字段名,要指明是哪张表里的) from 表1 join on 表2 on 相等的条件 where条件 group by 等等。
其实质就是把两张表合为一张表,然后像在一张表中那样操作。
三张表(或更多)连接:from 表1 join 表2 on 表1.字段=表2.字段 join 表3 on ...
4 子查询用“=”还是用in
当子查询中的结果返回的值只有一条时,就可以用等于,
当不确定只有一条时,就要用in了,
只有一条也可以用in,所以用in最为保险
5 多对多的关系
建表时,关系成表,但最好不要用联合主键,也建一个自己的主键id,然后和实体相关的建成外键。
以上是关于sql 容易被忽视的点的主要内容,如果未能解决你的问题,请参考以下文章