导入命令:
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类型为空不支持。