我正在尝试使用|将AWS MySql RDS中的数据导出到CSV文件分隔符并使用以下命令:
mysql -u username -ppassword --database=dbname --host=hostname --batch -e "select * from table1" |
sed 's/|/","/g'| sed 's/^/"/g' | sed 's/$/"/g' | sed 's/\n//g' > table1.csv
我希望输出为(预期):
id|"status_id"|"edit_stat_id"|"question"|"answer"|"f_id"|"s_order"
1|2|4|"What is AWS?"|"AWS is the only enterprise-ready technology platform that enables you to rapidly develop For more information about the capabilities of AWS visit our <a href=""https://www.aws.com/"" target=""_blank"">product pages</a>."|2|1
但我得到不同格式的输出,上面的结果我通过mysql工作台,但我想使用mysql命令输出,因为我有创建脚本。我们怎样才能得到这个结果?
应该已经有这样的功能来构建MySQL本身,包括在查询结束时放置一些额外的命令:
SELECT * FROM table1
INTO OUTFILE '/path/to/my/output.csv'
FIELDS TERMINATED BY '|'
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
只要您具有正确的权限,这将导致您正在运行命令的计算机上的CSV文件。