表的增刪查改是數據庫表的最基本的操作:
增加:
insert into table_name[(column[,column...])]
values (value [,value...]);
示例:
創建一張商品表,並插入兩條記錄:
在values中列出的數據位置必須與被加入的列位置相對應:
字符和日期類型應該包含在單引號中:
插入的數據應與字段的數據類型相同。比如,將‘abc'插入到id列就不行:
插入空值,不指定或insert into table values(null)
insert into table values(),(),() 一次性添加多條記錄:
如果給表中的所有字段添加數據,可以不寫前面的字段名稱:
如果你只給表的某幾個字段賦值,則需要制定字段名:
增加進階:
在數據插入的時候,假設主鍵對應的值已經存在:插入失敗!當主鍵存在衝突的時候(duplicate key),可以選擇性的進行處理:
1、更新操作。
2、替換,主鍵如果沒有衝突,就直接插入。
修改:
更新表中的數據:
update tbl_name set col_name1=expr1, [, col_name2=expr2 ...] [where conditon]
示例:
將所有產品的價格修改爲300塊:
將id爲100的產品價格修改爲1000:
將id爲200的產品價格增加200塊:
update使用細節:
update 語法可以用心值更新原有表中的各列
set子句指示要修改哪些列和要給予哪些值
where子句指定應更新哪些行。如果沒有where子句,則更新所有行
如果需要更新多個字段,可以通過 set 字段1=值1,字段2=值2...
更新還可以限制更新數量:
update 表名 set 字段=值 [where 條件] [limit 更新數量];
將goods表中的ccc產品的前一條改爲ddd:
刪除:
delete from tbl_name [where condition]
刪除表中id爲101的數據:
刪除表中的所有記錄:
delete from goods; --刪除整個表的數據,但是表的結構還存在
使用truncate刪除表中的記錄:
truncate table goods; --這個指令也把整個表記錄刪除
上述兩種刪除整表的區別:效果一樣,truncate速度快
delete可以帶where條件,刪除更加靈活
delete可以返回被刪除的記錄數,而truncate返回0
推薦使用delete
如果不適用where子句,將刪除整個表中所有數據
delete語句不能刪除某一列的值(可以用update置null)
使用delete語句僅刪除記錄,不刪除表本身(drop table)