創建表后,需要填入內容。通過LOAD DATA和INSERT語句可以完成該任務。
假定你的寵物紀錄描述如下。(假定在MySQL中期望的日期格式是YYYY-MM-DD;這可能與你習慣的不同。)
name |
owner |
species |
sex |
birth |
death |
Fluffy |
Harold |
cat |
f |
1993-02-04 |
|
Claws |
Gwen |
cat |
m |
1994-03-17 |
|
Buffy |
Harold |
dog |
f |
1989-05-13 |
|
Fang |
Benny |
dog |
m |
1990-08-27 |
|
Bowser |
Diane |
dog |
m |
1979-08-31 |
1995-07-29 |
Chirpy |
Gwen |
bird |
f |
1998-09-11 |
|
Whistler |
Gwen |
bird |
|
1997-12-09 |
|
Slim |
Benny |
snake |
m |
1996-04-29 |
|
因為你是從一個空表開始的,填充它的一個簡易方法是創建一個文本文件,每個動物各一行,然后用一個語句將文件的內容裝載到表中。
你可以創建一個文本文件“pet.txt”,每行包含一個記錄,用定位符(tab)把值分開,并且以CREATE TABLE語句中列出的列次序給出。對于丟失的值(例如未知的性別,或仍然活著的動物的死亡日期),你可以使用NULL值。為了在你的文本文件中表示這些內容,使用N(反斜線,字母N)。例如,Whistler鳥的記錄應為(這里值之間的空白是一個定位符):
name |
owner |
species |
sex |
birth |
death |
Whistler |
Gwen |
bird |
N |
1997-12-09 |
N |
要想將文本文件“pet.txt”裝載到pet表中,使用這個命令:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
請注意如果用Windows中的編輯器(使用 做為行的結束符)創建文件,應使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY ' ';
(在運行OS X的Apple機上,應使用行結束符' '。)
如果你愿意,你能明確地在LOAD DATA語句中指出列值的分隔符和行尾標記,但是默認標記是定位符和換行符。這對讀入文件“pet.txt”的語句已經足夠。
如果該語句失敗,可能是你安裝的MySQL不與使用默認值的本地文件兼容。關于如何更改請參見5.6.4節,“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語句裝載你的初始記錄。