有時,希望除去某些記錄或更改它們的內容。DELETE 和 UPDATE 語句令我們能做到這一點。
用update修改記錄
UPDATE tbl_name SET 要更改的列
WHERE 要更新的記錄
這裡的 WHERE 子句是可選的,因此如果不指定的話,表中的每個記錄都被更新。
例如,在pet表中,我們發現寵物Whistler的性別沒有指定,因此我們可以這樣修改這個記錄:
mysql> update pet set sex=’f’ where name=” Whistler”;
用delete刪除記錄
DELETE 語句有如下格式:
DELETE FROM tbl_name WHERE 要刪除的記錄
WHERE 子句指定哪些記錄應該刪除。它是可選的,但是如果不選的話,將會刪除所有的記錄。這意味著最簡單的 DELETE 語句也是最危險的。
這個查詢將清除表中的所有內容。一定要當心!
為了刪除特定的記錄,可用 WHERE 子句來選擇所要刪除的記錄。這類似於 SELECT 語句中的 WHERE 子句。
mysql> delete from pet where name=”Whistler”;
可以用下面的語句清空整個表:
mysql>delete from pet;
總結
本節介紹了兩個SQL語句的用法。使用UPDATE和DELETE語句要十分小心,因為可能對你的數據造成危險。尤其是DELETE語句,很容易會刪除大量數據。使用時,一定小心。
思考題
1、請親自按照本章所述的步驟,讓MySQL服務器在Linux系統啟動時,自動啟動。並嘗試其它啟動、重啟、關閉服務器的方法。
2、現在有一個位於主機database.domain.net的MySQL服務器,用root用戶的身份,密碼為newpass,連接到數據庫test。如何給出合適的命令行?如果使用選項文件,如何添加選項?
3、在test數據庫中建立一個本章舉例中所述的表pet,其結構如下所述:
name:30個寬度的定長字符串
owner:30個寬度的定長字符串
species:10個寬度的定長字符串
sex:由m和f組成的非空枚舉類型
birth:date類型
death:date類型
4、本章中pet表的數據錄入表中:
+----------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+--------+---------+------+------------+------------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Fang | Benny | dog | m | 1990-08-27 | NULL |
| Bowser | Diane | dog | m | 1990-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+--------+---------+------+------------+------------+
請把數據記錄到一個數據文件中,然後使用LOAD DATA INFILE語句裝載數據。提示:如果在Windows環境中,那麼文件的換行符是”\r\n”。
如果是使用實用程序mysqlimport命令行如何書寫。