mysql(3)

从文件中装载数据库

创建表后,需要填入内容。通过LOAD DATA和INSERT语句可以完成该任务。

首先创建数据文件,其中包括如下内容, 该数据文件中,每一行对应一条记录,应该使用tab分割。

你可以创建一个文本文件“pet.txt”
,每行包含一个记录,用定位符(tab)把值分开,并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用\N(反斜线,字母N)。

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

使用命令,将数据load进数据库

mysql> load data local infile '/home/newer/pets.txt' into table pet;
Query OK, 9 rows affected, 14 warnings (0.04 sec)
Records: 9  Deleted: 0  Skipped: 0  Warnings: 14

mysql> select * from pet;
+----------+--------+---------+------+------------+------------+
| name     | owner  | species | sex  | birth      | death      |
+----------+--------+---------+------+------------+------------+
| Fluffy   | Harold | cat     | f    | 1993-02-04 | NULL       |
| Claws    | Gwen   | cat     | m    | 1994-03-17 | NULL       |
| Buffy    | Harold | dog     | f    | 1989-05-13 | NULL       |
| Fang     | Benny  | dog     | m    | 1990-08-27 | NULL       |
| Bowser   | Diane  | dog     | m    | 1979-08-31 | 1995-07-29 |
| Chirpy   | Gwen   | bird    | f    | 1998-09-11 | NULL       |
| Whistler | Gwen   | bird    | 1    | NULL       | NULL       |
| Slim     | Benny  | snake   | m    | 1996-04-29 | NULL       |
|          | NULL   | NULL    | NULL | NULL       | NULL       |
+----------+--------+---------+------+------------+------------+
9 rows in set (0.00 sec)

如果出现下述错误:

mysql> load data local infile '/home/newer/pets.txt' into table pet;
ERROR 1148 (42000): The used command is not allowed with this MySQL version

则可能的原因是:

可能原因(from mysql reference manual): If LOAD DATA LOCAL is disabled, either in the server or the client, a client that attempts to issue such a statement receives the following error message: ERROR 1148: The used command is not allowed with this MySQL version 可见,出于安全考虑,默认是不允许从client host远程通过load data命令导数据。

退出mysql,使用命令登录即可。

root@ubuntu:~# mysql --local-infile -u root -p

你可能感兴趣的:(mysql(3))