3.3.3将数据加载到表中

 

创建表后,需要填充它。该 LOAD DATA和 INSERT语句是这个有用的。

假设您的宠物记录可以如下所示。(请注意,MySQL需要使用 格式的日期;这可能与您习惯的日期 有所不同。) 'YYYY-MM-DD'

名称所有者种类性别出生死亡
蓬松 哈罗德 F 1993-02-04  
爪子 格温 1994-03-17  
巴菲 哈罗德 F 1989-05-13  
ang 本尼 1990-08-27  
鲍泽 黛安 1979-08-31 1995-07-29
格温 F 1998-09-11  
惠斯勒 格温   1997-12-09  
本尼 1996-04-29  

因为您是从一个空表开始的,所以填充它的一种简单方法是为每个动物创建一个包含一行的文本文件,然后使用单个语句将文件的内容加载到表中。

您可以创建一个文本文件pet.txt ,每行包含一个记录,其值由制表符分隔,并按CREATE TABLE语句中各列的列出顺序给出 对于缺少的值(例如未知的性别或仍在生活中的动物的死亡日期),可以使用NULL 值。要在文本文件中表示这些字符,请使用 N(反斜杠,大写N)。例如,惠斯勒小鸟的记录应如下所示(其中值之间的空格是单个制表符):

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 '
';

(在运行macOS的Apple机器上,您可能想使用 LINES TERMINATED BY ' '。)

您可以根据需要在LOAD DATA语句中显式指定列值分隔符和行尾标记,但默认值为制表符和换行符。这些足以使语句pet.txt正确读取文件

如果该语句失败,则可能是默认情况下您的MySQL安装未启用本地文件功能。有关如何更改此设置的信息,请参见第6.1.6节“ LOAD DATA LOCAL的安全注意事项”

当您想一次添加一个新记录时,该 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 语句来加载记录时会涉及更多类型的输入

原文地址:https://www.cnblogs.com/owlin/p/13730533.html