建立表格後,您需要填入資料。 LOAD DATA
和 INSERT
陳述式在此很有用。
假設您的寵物記錄可以如下所述。(請注意,MySQL 期望的日期格式為 '
,這可能與您習慣的不同。)YYYY-MM-DD
'
名稱 | 主人 | 物種 | 性別 | 出生日期 | 死亡日期 |
---|---|---|---|---|---|
Fluffy | Harold | 貓 | f | 1993-02-04 | |
Claws | Gwen | 貓 | m | 1994-03-17 | |
Buffy | Harold | 狗 | f | 1989-05-13 | |
Fang | Benny | 狗 | m | 1990-08-27 | |
Bowser | Diane | 狗 | m | 1979-08-31 | 1995-07-29 |
Chirpy | Gwen | 鳥 | f | 1998-09-11 | |
Whistler | Gwen | 鳥 | 1997-12-09 | ||
Slim | Benny | 蛇 | m | 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
。
從此範例中,您應該能夠看出,與使用單一 LOAD DATA
陳述式相比,最初使用多個 INSERT
陳述式載入記錄會涉及更多輸入。