创建表后,可以使用LOAD DATAINSERT来导入数据.

假设你的宠物记录可以如下描述:

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表示.例如,对于Whistler的记录,可以像这样输入:

1
Whistler Gwen bird \N 1997-12-09 \N

将文本文件pet.txt导入表pet,使用:

1
mysql> LOAD DATA LOCAL INFILE 'C:/SQL/pet.txt' INTO TABLE pet;

Windows中使用\r\n作为行结束符,所以要换用下面的命令:

1
2
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';

当你想添加新记录时,INSERT是很有用的,假设Diane新养了一个名为Puffball的hamster.你可以使用INSERT添加一条新纪录:

1
2
mysql> INSERT INTO pet
-> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);

字符串和日期在这里都指定为字符串,对于缺省的值,可以直接插入NULL,不用像LOAD DATA那样使用\N.

从这个例子可以看出,导入数据时,使用INSERT会比LOAD DATA多一些输入命令调用.

英文原文:

Loading Data into a Table