来源:ccidnet.com
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 1998-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鸟的记录看起来像这样的(这里在值之间的空白是一个单个的定位字符):
Whistler Gwen bird \N 1997-12-09 \N
为了装载文本文件“pet.txt”到pet表中,使用这个命令:
mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是缺省是定位符和换行符。这些对争取读入文件“pet.txt”的语句是足够的。
当你想要一次增加一个新记录时,INSERT语句是有用的。在它最简单的形式,你为每一列提供值,以列在CREATE TABLE语句被列出的顺序。假定Diane把一只新仓鼠命名为Puffball,你可以使用一个这样INSERT语句增加一条新记录:
mysql> INSERT INTO pet
-> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
注意,这里字符串和日期值被指定为引号扩起来的字符串。另外,用INSERT,你能直接插入NULL代表不存在的值。你不能使用\N,就像你用LOAD DATA做的那样。
从这个例子,你应该能看到涉及很多的键入用多个INSERT语句而非单个LOAD DATA语句装载你的初始记录。
阅读(498) | 评论(0) | 转发(0) |