top
Loading...
3.3.3.將數據裝入表中
3.3.3. 將數據裝入表中

創建表后,需要填入內容。通過LOAD DATAINSERT語句可以完成該任務。

假定你的寵物紀錄描述如下。(假定在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 XApple機上,應使用行結束符' '。)

如果你愿意,你能明確地在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語句裝載你的初始記錄。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html
北斗有巢氏 有巢氏北斗