今天一天都在搞如何从数据库外导入文件,总是错误不断,特在此写明,以供参考。
1、示例
首先先创建一个data_import.txt 文件,内容如下:
1 TOM 24 BeiJing football
2 LIU 27 Heihei football
3 JIM 26 Shangdong football
4 HAN 28 Beijing football
5 MENG 25 Beijing tennis
然后在emp database下创建data_import table。
CREATE TABLE data_import
(
id CHAR(10),
name CHAR(10),
age CHAR(10),
address VARCHAR(15),
hobby VARCHAR(15)
)
# check table
DESC data_import;
我一开始使用的是这个命令(首先,我是在单机上实践的)
mysqlimport -uroot -plijun emp data_import.txt
但总是报出:
Error: 13, Can't get stat of '/var/lib/mysql/data_import.txt' (Errcode: 2), when using table: data_import
既然找不到文件,那我就认为的将data_import 文件移到/var/lib/mysql/目录下,果然,问题就解决了。
我猜测这主要是与msql查找文件的路径设置有关系。很明显,上面的路径是默认的路径。
后来,我又查了一些资料,原来是可以这样:
mysqlimport -uroot -plijun --local emp data_import.txt
--local 这个参数指定了:从客户端电脑读入数据文件,否则从服务器电脑读取
添加--local 以后,Records: 5 Deleted: 0 Skipped: 0 Warnings: 8,这样就可以了。
另外也可以是使用:
mysql> load data local infile 'data_import.txt' into table data_import
注意这里的local 没有--local.