1.从数据库导出数据到excel表
查看"secure_file_priv"变量
mysql> SHOW VARIABLES LIKE "secure_file_priv";
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| secure_file_priv | |
+------------------+-------+
1 row in set (0.00 sec)
说明可以将文件导出到任意目录下,这个是mysql 的安全考虑,如果变量为值None 可以通过修改mysql的配置文件来修改这个变量,在 /etc/mysql/mysql.cnf中添加配置项
secure_file_priv='/var/lib/mysql-files/'
然后重启数据库,当然你要有这个路径才可以,同时用户有权限在该目录下写入文件
然后导出:
select * from mysql.user into outfile '/var/lib/mysql-files/test.csv';
select * into outfile '/home/zhongnan/newterm/term3.xls' from dc_terminfo;
注意这里文件类型可以是excel的xls(二进制数据文件),也可以是文本类型csv(纯文本格式,用逗号分隔一系列值)
2.将excel表数据导入到mysql
1.打开xxx.xls的excel表,删除第1行"imei,name"…这些列表首行,只保留我们需要的数据部分。xls数据项需要和数据表的数据项一一对应。
2.单击"文件"–>“另存为”,类型选择为"CSV(逗号分隔)(*.csv)",将excel表另存为csv文档,同时用nodepad++打开,默认保存的文件编码是ANSI,如果数据库(数据表)使用UTF-8编码,那么一定要将这个csv文件另存为UTF-8格式!
3.导入:
load data local infile '/home/zhongnan/newterm/term3_.csv' into table dc_term fields terminated by ','(或者"\t");
如果是txt格式:
LOAD DATA LOCAL INFILE 'D:\\term3.txt' INTO TABLE dc_term FIELDS TERMINATED BY '\r';