建立表格後,您需要填入資料。 LOAD DATA 和 INSERT 陳述式對此很有用。
假設您的寵物記錄可以如下所示描述。(請注意,MySQL 期望日期格式為 ';這可能與您習慣的不同。)YYYY-MM-DD'
| 名稱 | 飼主 | 種類 | 性別 | 出生 | 死亡 |
|---|---|---|---|---|---|
| Fluffy | Harold | 貓 | 女 | 1993-02-04 | |
| Claws | Gwen | 貓 | 男 | 1994-03-17 | |
| Buffy | Harold | 狗 | 女 | 1989-05-13 | |
| Fang | Benny | 狗 | 男 | 1990-08-27 | |
| Bowser | Diane | 狗 | 男 | 1979-08-31 | 1995-07-29 |
| Chirpy | Gwen | 鳥 | 女 | 1998-09-11 | |
| Whistler | Gwen | 鳥 | 1997-12-09 | ||
| Slim | Benny | 蛇 | 男 | 1996-04-29 |
因為您從空白表格開始,所以填入資料的簡單方法是建立一個文字檔,其中包含每個動物的一列,然後使用單一陳述式將檔案內容載入表格。
您可以建立一個文字檔 pet.txt,每行包含一個記錄,值之間用 Tab 分隔,並按照 CREATE TABLE 陳述式中列出的欄的順序給定。對於遺失的值(例如未知性別或仍活著的動物的死亡日期),您可以使用 NULL 值。為了在文字檔中表示這些值,請使用 \N(反斜線、大寫 N)。例如,鳥類 Whistler 的記錄將如下所示(值之間的空白為單個 Tab 字元)
Whistler Gwen bird \N 1997-12-09 \N若要將文字檔 pet.txt 載入 pet 表格,請使用此陳述式
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;如果您在 Windows 上使用以 \r\n 作為行終止符的編輯器建立檔案,則應改用此陳述式
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
LINES TERMINATED BY '\r\n';(在執行 macOS 的 Apple 電腦上,您可能會想要使用 LINES TERMINATED BY '\r'。)
您可以在 LOAD DATA 陳述式中明確指定欄值分隔符號和行尾標記,但預設值為 Tab 和換行符。這些足以讓陳述式正確讀取檔案 pet.txt。
如果陳述式失敗,則可能是您的 MySQL 安裝預設未啟用本機檔案功能。有關如何變更此設定的資訊,請參閱第 8.1.6 節「LOAD DATA LOCAL 的安全性考量」。
當您想要一次新增一個新記錄時,INSERT 陳述式很有用。在其最簡單的形式中,您可以為每個欄提供值,並按照 CREATE TABLE 陳述式中列出欄的順序提供。假設 Diane 有了一隻名叫「Puffball」的新倉鼠。您可以使用如下的 INSERT 陳述式新增新記錄
mysql> INSERT INTO pet
VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);字串和日期值在此處指定為帶引號的字串。此外,使用 INSERT,您可以直接插入 NULL 來表示遺失的值。您不會像使用 LOAD DATA 那樣使用 \N。
從此範例中,您應該可以看出,使用數個 INSERT 陳述式來載入初始記錄比使用單一 LOAD DATA 陳述式需要更多輸入。