sql 容易被忽視的點
阿新 • • 發佈:2018-11-19
... 約束 sql 刪除數據 drop 使用 刪除表 數據 cal
id,然後和實體相關的建成外鍵。
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 多對多的關系
建表時,關系成表,但最好不要用聯合主鍵,也建一個自己的主鍵
sql 容易被忽視的點