mysql - 如何在 docker 容器内运行 SQL 查询并将结果导出到容器外 (.CSV)
问题描述
在 SQL 服务器中,我尝试使用以下命令导出 CSV 文件
mysql> mysql -u username -p --host=rdshostname --port=rdsport --batch -e "select * from yourtable" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//' > export.csv
但没有运气,那么我如何将上述查询结果导出到 CSV 文件?
解决方案
最简单的方法是在容器内运行查询,然后将结果导出到主机上的文件。
docker exec -it some-mysql bash -c 'mysql -h myhost -u root -pPassword --database sample --batch -e "select * from company"'
这将打印查询结果,现在将结果输出重定向到主机上的文件。
docker exec -it some-mysql bash -c 'mysql -h myhost -u root -pPassword --database sample --batch -e "select * from company"' > sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//' > company.csv
然后将文件从主机上传到s3
aws s3 cp company.csv s3://mybucket/rds/mydb/table.csv
推荐阅读
- hydra-python - 传递多个配置组
- python - 如何读取多个 .csv 文件并分析数据?
- ruby - 在 WSL2 中为 VSCODE 配置 Rubocop 时出错
- java - Spring 多对多未保存在表单提交中
- kubernetes - 我什么时候在charts/目录中放置子图表,在Chart.yaml中放置依赖项,或者在Helm中放置requirements.yaml?
- swift - 带有协议泛型的初始化程序不起作用
- sql - 当插入/更新发生在同一个表中时触发更新特定列
- windows - 使用 PowerShell 创建启动 PowerShell 脚本的快捷方式
- c++ - 自定义“数字”类 - 可以代替“浮点”或其他内置类型工作吗?
- loops - 如何巩固这些循环