sql 容易被忽視的點

2022-08-13 09:54:15 字數 904 閱讀 1355

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

等等。其實質就是把兩張表合為一張表,然後像在一張表中那樣操作。

1 join

表2 on 表1.

字段=表2.

字段 join

表3 on ...

4 子查詢用「

=」還是用

in當子查詢中的結果返回的值只有一條時,就可以用等於,

當不確定只有一條時,就要用in了,

只有一條也可以用in,所以用

in最為保險

5 多對多的關係

建表時,關係成表,但最好不要用聯合主鍵,也建乙個自己的主鍵id,然後和實體相關的建成外來鍵。

容易被忽視的synchronized

public static final synchronized callmanager getinstance return minstance synchronized,多執行緒訪問同步鎖,具有以下特性 1 同一時間只允許乙個執行緒訪問 2 在乙個執行緒訪問synchronized 塊時,另乙個...

C reference 那些容易被忽視的細節

工作之餘做個小結。te為實體型別,td為推斷型別 引用建立時即初始化賦值。作為函式引數時,程式進入函式就已經初始化完畢。注意區分值與值的引用。一旦創造了te t右值引用便有了別名,t的行為變成左值 傳入td 模板為左引用,但t列印出的型別依然為右值引用是別名,構造好的引用可當作自身,引用之間的非初始...

c 容易被忽視的細節序列 (一)

1.std size t numdigits int number 函式返回型別被定義為std size t 這表示size t是被定義在std命名空間之內。std幾乎是所有c 標準程式庫元素的棲身之處。另外size t只是乙個typedef,是c 計算個數時用的不帶正負號型別 unsigned 例...