sql 容易被忽视的点

Posted 小仙漫游web前端世界平凡琐事记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 容易被忽视的点相关的知识,希望对你有一定的参考价值。

1 dual

select查询语句只有select就可以,但为了规范,凑结构,可以加个dual

例:select now() from dual;

这个概念是Oracle中的。在mysql中可写可不写。

 

2 dropdeletetruncate的区别

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 容易被忽视的点的主要内容,如果未能解决你的问题,请参考以下文章

容易忽视的十大SQL优化方案!

容易被忽视的后端服务 chunked 性能问题

Javascript中容易被忽视的地方

关于ADO一个容易被忽视的问题!UpdateBatch [问题点数:0分]

那些非常重要却容易被忽视的 HTML 标签,你知道多少?

Java面试不懂这些就很尴尬了,容易被人忽视的Java基础