码迷,mamicode.com
首页 > 数据库 > 详细

sql 容易被忽视的点

时间:2018-11-19 17:37:37      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:表数据   sql   from   返回   dual   外键   联合   查询   sel   

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   from   返回   dual   外键   联合   查询   sel   

原文地址:https://www.cnblogs.com/hzhjxx/p/9983733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!