建立表格後,您需要填入資料。 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
陳述式需要更多輸入。