Mysql数据导入导出功能(设置及使用)

使用Mysql自带的outfile语法,将查询结果导成excel格式。

1、OUTFILE介绍及常见问题解决:

1)查询数据导出成csv

直接使用mysql导出csv方法
我们可以使用 into outfile, fields terminated by, optionally enclosed by, line terminated by语句实现导出csv 

语句的格式与作用
into outfile ‘导出的目录和文件名’ 
指定导出的目录和文件名

fields terminated by ‘字段间分隔符’ 
定义字段间的分隔符

optionally enclosed by ‘字段包围符’ 
定义包围字段的字符(数值型字段无效)

lines terminated by ‘行间分隔符’ 
定义每行的分隔符 


//例子:(有中文字段的需要convert指定编码gbk/gb2312)

SELECT
    dept_no,CONVERT(dept_name USING gbk) 
FROM
    departments INTO OUTFILE "/Users/chenshengkai/Desktop/123.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';

//带表头导出csv

SELECT
    * 
FROM
    ( SELECT 'dept_no', 'dept_name' UNION SELECT dept_no, dept_name FROM departments ) b;
    
//常见问题:mysql默认不支持导入/导出,需要修改配置my.cnf
查看默认参数:
1、mysql -uroot -proot
2、show variables like%secure_file_priv%’; 
3、secure_file_priv

  1)限制mysqld 不允许导入 | 导出

     mysqld –secure_file_prive=null

  2)限制mysqld 的导入 | 导出 只能发生在/tmp/目录下

     mysqld –secure_file_priv=/tmp/

  3)不对mysqld 的导入 | 导出做限制

cat /etc/my.cnf 
    [mysqld] 
    secure_file_priv=’‘ 

猜你喜欢

转载自www.cnblogs.com/chenshengkai/p/12718128.html