【MySQL必知必會(十七)】【更新和刪除資料】

2020-10-03 14:00:17

上一篇:【MySQL必知必會(十六)】【插入資料】

+++++++++++++開始線++++++++++++++++

一、 更新資料

更新(修改)表中的資料,可使用UPDATE語句。
可採用兩種方式使用UPDATE:
1.更新表中特定行
2.更新表中所有行

不要省略WHERE子句

在使用UPDATE時一定要注意細心。因為稍不注意,就會更新表中所有行

UPDATE語句由三部分組成:
1.要更新的表
2.列名和它們的新值
3.確定要更新行的過濾條件

客戶10005現在有了電子郵件地址,因此他的記錄需要更新

mysql> UPDATE customers
    -> SET cust_email = 'elmer@fudd.com'
    -> WHERE cust_id = 10005;

在這裡插入圖片描述

更新多個列

mysql> UPDATE customers
    -> SET cust_name = 'The Fudds',
    -> cust_email = 'elmer@fudd.com'
    -> WHERE cust_id = 10005;

在這裡插入圖片描述

刪除某個列,可設定它為NULL

mysql> UPDATE customers
    -> SET cust_email = NULL
    -> WHERE cust_id = 10005;

二、 刪除資料

從一個表中刪除資料,使用DELETE語句。
可以兩種方式使用DELETE:
1.從表中刪除特定的行
2.從表中刪除所有行

從customers表中刪除一行

mysql> DELETE FROM customers
    -> WHERE cust_id = 10006;

DELETE不需要列名或萬用字元。DELETE刪除整行而不是刪除列。為了刪除指定的列,使用UPDATE

刪除表的內容而不是表

DELETE語句從表中刪除行,甚至是刪除表中所有行。但是,DELETE不刪除表本身

更快的刪除

如果想從表中刪除所有行,不要使用DELETE。可使用TRUNCATE TABLE語句,完成相同的工作,但速度更快

三、 更新和刪除的指導原則

使用UPDATE或DELETE的習慣:
1.除非確實打算更新和刪除一行,否則不要使用不帶WHERE子句的UPDATE或DELETE語句
2.保證每個表都有主鍵,儘可能像WHERE子句那樣使用它
3.在對UPDATE或DELETE語句使用WHERE子句前,應該先用SELECT進行測試,保證它過濾的是正確的記錄,以防編寫的WHERE子句不正確
4.使用強制實施參照完整性的資料庫,這樣MySQL將不允許刪除具有與其他表相關聯的資料的行

+++++++++++++結束線++++++++++++++++

下一篇:【MySQL必知必會(十八)】【建立和操縱表】