开发者社区> 问答> 正文

CSV格式的mysqldump?mysql

我需要以CSV格式转储MySQL中的所有表。

是否有mysqldump用于仅以 CSV格式输出每个表的每一行的命令?

展开
收起
保持可爱mmm 2020-05-17 11:27:03 602 0
1 条回答
写回答
取消 提交回答
  • 首先,我可以为您提供一个表的答案:

    所有这些INTO OUTFILE或--tab=tmpfile(和-T/path/to/directory)答案的问题在于,它需要在与 MySQL服务器相同的服务器上运行mysqldump ,并具有这些访问权限。

    我的解决方案是简单地使用mysql(NOT mysqldump)和-B参数,用内联SELECT语句-e,然后用按摩ASCII输出sed,并用CSV结束,包括标题字段行:

    例:

    mysql -B -u username -p password database -h dbhost -e "SELECT * FROM accounts;"
    | sed "s/"/""/g;s/'/'/;s/\t/","/g;s/^/"/;s/$/"/;s/\n//g" “ id”,“登录”,“密码”,“文件夹”,“电子邮件”,“ 8”,“ mariana”,“ xxxxxxxxxx”,“ mariana”,“” 3“,” squaredesign“,” xxxxxxxxxxxxxxxxx“,” squaredesign”,“ mkobylecki@squaredesign.com”,“ 4”,“ miedziak”,“ xxxxxxxxxx”,“ miedziak”,“ miedziak@mail.com”“ 5”,“ Sarko”,“ xxxxxxxxx”,“ Sarko”,“ “” 6“,” Logitrans Poland“,” xxxxxxxxxxxxxx“,” LogitransPoland“,”“” 7“,” Amos“,” xxxxxxxxxxxxxxxxxxxx“,” Amos“,”“” 9“,” Annabelle“,” xxxxxxxxxxxxxxxx“, “ Annabelle”,“”“ 11”,“Brandfathers and Sons“,” xxxxxxxxxxxxxxxxx“,” BrandfathersAndSons“,”“” 12“,” Imagine Group“,” xxxxxxxxxxxxxxxx“,” ImagineGroup“,”“”“ 13”,“ EduSquare.pl”,“ xxxxxxxxxxxxxxxxx”,“ EduSquare .pl“,”“” 101“,” tmp“,” xxxxxxxxxxxxxxxxxxxxx“,” “,” WOBC-14.squaredesign.atlassian.net@yoMama.com““,” WOBC-14.squaredesign.atlassian.net@yoMama.com“_“,” WOBC-14.squaredesign.atlassian.net@yoMama.com“

    outfile.csv在该单行代码的末尾添加一个,以获取该表的CSV文件。

    接下来,获取所有表的列表

    mysql -u username -ppassword dbname -sN -e "SHOW TABLES;" 从那里开始,例如,仅循环一个步骤。在bash外壳中迭代这些表:

    for tb in $(mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"); do echo .....; done 在do和之间; done 插入我在上面的第1部分中编写的long命令,但是用您的表名$tb代替。来源:stack overflow

    2020-05-18 11:14:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像