1. 程式人生 > >sql 容易被忽視的點

sql 容易被忽視的點

... 約束 sql 刪除數據 drop 使用 刪除表 數據 cal

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 容易被忽視的點