SQL 指令(insert、update、delete)
SQL 指令(insert、update、delete)
http://blog.blueshop.com.tw/pili9141/articles/52260.aspx
1 | insert |
2 | --◎ 將資料存入資料庫中,結尾加「;」 |
3 | --◎ 值為字串時,需加單引號「'」,值為數字時不需加單引號,值與值之間以「,」隔開 |
4 | |
5 | 1. insert into 資料表a(欄位1,欄位2) values(值1,值2) |
6 | --◎ 將值1、值2寫入資料表a的特定欄位1、欄位2 |
7 | --◎ 此寫法可以只將資料塞給特定欄位,且欄位與值的個數及型態需一致 |
8 | |
9 | 2. insert into 資料表a values(值1,值2) |
10 | --◎ 將值1、值2寫入資料表a |
11 | --◎ 此寫法是insert所有欄位時使用 |
12 | |
13 | 3. insert into 資料表a select 欄位 from 資料表b where 條件 |
14 | --◎ 將資料表b查詢出來的資料寫入資料表a |
15 | |
16 | ---------------------------------------------------------------------------------- |
17 | |
18 | update |
19 | --◎ 修改資料庫中資料,結尾加「;」 |
20 | --◎ 無where敘述時,表示更新table中所有資料 |
21 | --◎ 子查詢之資料超過一筆時,系統會產生error |
22 | |
23 | 1. update 資料表a set 欄位1 = 值1,欄位2 = 值2 where 條件 |
24 | --◎ 將資料表a的某條件下的資料,欄位1的值修改為值1,欄位2的值修改為值2 |
25 | |
26 | 2. update 資料表a set 欄位1 = (select 欄位a from 資料表b where 條件) where 條件 |
27 | --◎ 將資料表a的某條件下的資料,欄位1的值,修改為資料表b的欄位a值 |
28 | |
29 | 3. update 資料表a set (欄位1,欄位2) = (select 欄位a,欄位b from 資料表b where 條件) where 條件 |
30 | --◎ 將資料表a的某條件下的資料,欄位1、欄位2的值,修改為資料表b的欄位a、欄位b的值 |
31 | |
32 | ---------------------------------------------------------------------------------- |
33 | |
34 | delete |
35 | --◎ 刪除資料庫中資料,結尾加「;」 |
36 | --◎ 無where敘述時,表示刪除table中所有資料 |
37 | |
38 | delete from 資料表a where 條件 |
39 | --◎ 刪除資料表a的某條件下的資料 |
40 | |
41 | ---------------------------------------------------------------------------------- |
42 | |
43 | commit; |
44 | --◎ 下insert、delete、update的sql指令時,需再下commit指令才會真正將資料做處理 |
45 | --◎ 離開sql plus 會自動commit |
46 | |
47 | rollback; |
48 | --◎ 下insert、delete、update的sql指令時,下rollback指令,會取消先前對資料庫做的動作 |
49 | --◎ 若下insert、delete、update的sql指令時,沒做commit或是rollback |
50 | -- ,則再下同樣的insert、delete、update的sql指令時,會產生錯誤 |