从命令行查询数据,并输出到文件
通过命令号查询数据,并通过管道输出到文件:
mysql -u root -h localhost -D mydb -e "select * from mytable;" > mytable.tsv
因为MySQL的输出使用制表符分隔的,所以可以被称为tsv文件,并且可以在某些程序中导入,代替csv文件。可以将其转换为csv,不过过程比较复杂
如果数据中没有逗号
如果完全肯定数据中100%没有逗号,可以只用sed替换制表符:
sed "s/\t/,/g" mytable.tsv > mytable.csv
如果数据中有逗号
如果数据中包含逗号,需要使用更复杂的正则表达式:
sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" mytable.tsv > mytable.csv
如果输出的数据中本身就包含制表符,那么以上方法将不再起作用,你只能通过自己编写一个程序或使用其他工具解决问题。