MySQL用load命令导入数据

导入命令:

load data infile '/路径下/文件名.csv' into table 库名.表名 character set utf8 fields terminated by ',' enclosed by '"';

例如:

load data infile 'D:/sys/LOG_FUNCTION.csv' into table LOG.LOG_FUNCTION character set utf8 fields terminated by ',' enclosed by '"';

LINUX环境下需要另行配置(导入语句不变):

执行命令: show variables like "%secure%";

查看 "secure_file_priv "的值,若为空需要相关配置,这个值为LINUX系统下MySQL导入导出文件的权限目录,若为空则不可进行导入与导出操作。

具体配置过程如下:

进入MySQL根目录(默认安装目录为/usr/local/mysql)

打开my.cnf文件,在文件末尾追加路径:

secure-file-priv=‘路径’

然后再进行导入操作即可。

 

对语句本人的理解是:

erminated by ',' 字段间的分隔符,enclosed by '"' 字段标识符号 即字段已' " ' 包围

character set utf8 中文字符

在导入过程中遇到了错误如下:

 Incorrect integer value: '' for column 'XXX' at row 1

错误的翻译为:错误的整数型值:在第1行的xxx字段出

因为我的xxx字段值是smallint类型的,将类型改为varchar类型,就不会出现这种错误了。

原因可能是因为MySQL对int类型为空不支持。

posted @ 2017-08-09 18:10  duyunchao  阅读(2562)  评论(0编辑  收藏  举报