MySQL 导出数据为csv格式的方法
程序员文章站
2024-03-31 14:29:16
方案有很多种,我这里简单说一下:
1. into outfile
复制代码 代码如下:
select * from mytable
&nb...
方案有很多种,我这里简单说一下:
1. into outfile
复制代码 代码如下:
select * from mytable
into outfile '/tmp/mytable.csv'
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n';
在我使用过程中发现一个特别严重问题,这里面不能插入查询条件,比如where这些,也就是说只能整表导出,不知道是不是我的写法有问题,有知道朋友请给我留言。
第二个问题是,outfile的路径一定要有写权限,我们mysql的进程权限一般是mysql用户,因此最好导出到/tmp目录下面。
2. 通过结合sed
复制代码 代码如下:
mysql -uroot test -e "select ip from server where a.name like '%abc%'" -n -s | sed -e 's/^/"/g;s/$/"\n/g'; > /tmp/test.csv
这里首先使用mysql命令的-e参数来执行sql语句,然后通过-n来去掉输出结果中列名,-s去掉输出结果中的各种划线。
然后使用sed命令输出结果中所有相关数据进行替换,其中替换了三处,1.在行首增加“,在行尾增加”和换行,在每个字段之间增加”,”来分隔。
3. 通过mysqldump来实现
复制代码 代码如下:
mysqldump -u username -p -t -t/path/to/directory dbname table_name --fields-terminated-by=','
和1的方案差不多吧。
就当是一个笔记吧
推荐阅读
-
MySQL 导出数据为csv格式的方法
-
修改MySQL的数据库引擎为INNODB的方法
-
linux导出mysql数据库命令(linux备份mysql数据库的方法)
-
linux导出mysql数据库命令(linux备份mysql数据库的方法)
-
完美解决php 导出excle的.csv格式的数据时乱码问题
-
Java数据库连接池的几种配置方法(以MySQL数据库为例)
-
Java数据库连接池的几种配置方法(以MySQL数据库为例)
-
PHP编程实现csv文件导入mysql数据库的方法
-
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
-
使用PHPExcel实现数据批量导出为excel表格的方法(必看)