相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  將資料載入表格

5.3.3 將資料載入表格

建立表格後,您需要填入資料。 LOAD DATAINSERT 陳述式對此很有用。

假設您的寵物記錄可以如下所示描述。(請注意,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 陳述式需要更多輸入。