MySQL 导出数据为csv格式的方法_MySQL
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的方案差不多吧。
就当是一个笔记吧
上一篇: ps图层怎么加字
推荐阅读
-
linux下备份MYSQL数据库的方法_MySQL
-
php使用指定编码导出mysql数据到csv文件的方法
-
SQL Server 7.0 的数据迁移到MySQL上的一种方法
-
CSV文件导入mysql PHP处理CSV表格文件的常用操作方法总结
-
mysql分组查询查询每个组前面40条数据里面某个字段不能连续超过8条为空的记录,请大神指导
-
PHP使用mysql_fetch_row查询获得数据行列表的方法,phpmysql_fetch_row_PHP教程
-
MySQL删除binlog日志及日志恢复数据的方法
-
MySQL学习笔记之数据的增、删、改实现方法_MySQL
-
php中实现xml与mysql数据相互转换的方法_php技巧
-
php+mysql第一条数据无法显示的原因和解决方法