【MySQL】數據庫 -- 表的增刪查改詳解

表的增刪查改是數據庫表的最基本的操作:

增加:

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


delete使用細節:
如果不適用where子句,將刪除整個表中所有數據
delete語句不能刪除某一列的值(可以用update置null)
使用delete語句僅刪除記錄,不刪除表本身(drop table)


發佈了85 篇原創文章 · 獲贊 110 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章