一个在线的开发文档:
http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html
3.3.3. 将数据装入表中
创建表后,需要填入内容。通过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中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';
(在运行OS X的Apple机上,应使用行结束符'\r'。)
如果你愿意,你能明确地在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中创建表并填充宠物数据。包括使用LOADDATA和INSERT语句,以及创建文本文件来批量导入数据的方法。
4337

被折叠的 条评论
为什么被折叠?



