我在Amazon RDS实例上有一个非常大的表,我需要将其导出为具有特定设置的.tsv。我无法在RDS实例上使用INTO OUTFILE
。所以我必须将表导出到我登录RDS MySQL实例的服务器的本地驱动器上。
我需要为.tsv指定特定设置。他们是:
如何从命令行执行此操作?
答案 0 :(得分:7)
你可以这样做 -
mysql -uroot -proot -h "mysql.host.url" -N -B -e "select * from world.city" | sed 's/NULL/ /g' > test.tsv
-N告诉它不要打印列标题。 -B是"批处理模式",并使用选项卡分隔字段。 NULL由空格替换。
对于100 GB的数据库,这可能会有所帮助 -
mysql -uroot -proot -h "mysql.host.url" -N -B -e "select * from world.city" > test.tsv
sed 's/NULL/ /g' < test.tsv > new.tsv
但我建议对于大型数据库,您应该使用ETL工具。
答案 1 :(得分:-1)