有些时候可能需要从本地文件中导入数据到数据库中。mysql跟oracle一样也提供了相应的导入方式。
这几天刚好遇到过这样的需求,翻阅了一下文档找到相应的方法,记录一下:
数据库结构:
mysql> describe pet; +---------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | | species | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | death | date | YES | | NULL | | +---------+-------------+------+-----+---------+-------+
需要插入数据文件(pet.txt):
Fluffy Harold cat f 1993-02-04 \N Claws Gwen cat m 1994-03-17 \N Buffy Harold dog f 1989-05-13 \N Fang Benny dog m 1990-08-27 \N Bowser Diane dog m 1979-08-31 1995-07-29 Chirpy Gwen bird f 1998-09-11 \N WhistlerGwen bird \N 1997-12-09 \N Slim Benny snake m 1996-04-29 \N
pet.txt文件中字段的值用tab隔开,空值用\N代替。在mysql控制台中通过如下命令导入文件:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet;
如果你的pet.txt文件是用其他编辑器编辑,并且分隔符是“\r\n”,则应该用修改一下导入命令:
mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet -> LINES TERMINATED BY '\r\n';
至此,导入工作完成,会有如下提示:
Query OK, 8 rows affected, 8 warnings (0.01 sec) Records: 8 Deleted: 0 Skipped: 0 Warnings: 8
扫描二维码关注公众号,回复:
1162584 查看本文章