从文件中装载数据库
创建表后,需要填入内容。通过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
网友评论