【问题标题】:Export table data into csv file using mysqldump使用 mysqldump 将表数据导出到 csv 文件
【发布时间】:2012-03-08 09:06:49
【问题描述】:

我想使用 mysqldump 将表数据导出到 csv 文件中。

我想做类似的东西:

mysqldump --compact --no_create_info --tab=testing --fields-enclosed-by=\" --fields-terminated-by=, -uroot -proot mydatabase mytable

但我不断收到此错误:

(Errcode: 13) when executing 'SELECT INTO OUTFILE'

我使我的测试文件夹可写(我使用 Ubuntu 作为环境)。有人可以解释如何在 CSV 文件中导出表格,或者如何修改我的命令 shell 才能工作吗?谢谢!

【问题讨论】:

    标签: php mysql csv


    【解决方案1】:

    所有这些INTO OUTFILE--tab=tmpfile 答案的问题在于它需要在与MySQL 服务器相同的服务器上运行mysqldump

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

    例子:

     mysql -B -u username -ppassword database -h dbhost -e "SELECT * FROM accounts;" |sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g"
    

    "id","登录名","密码","文件夹","电子邮件" "8","马里亚纳","57d40c8a954bc9e65f401592062019b1457be359","马里亚纳","" "3","squaredesign","b01134fac01dab765bcb55ab0ca33f9ec2885a7b","squaredesign","mkobylecki@squaredesign.com" "4","miedziak","601f1889667efaebb33b8c12572835da3f027f78","miedziak","miedziak@mail.com" "5","萨科","480225f1ac707031bae300f3f5b06dbf79ed390e","萨科","" "6","罗技 波兰","9033b6b3c4acbb27418d8b0b26f4c880ea6dea22","LogitransPoland","" "7","阿莫斯","50f5604164db2d5ff0e984f973d2202d5358b6a6","阿莫斯","" "9","安娜贝尔","07e832cb64e66fa03c13498a26a5f8e3bdebddf1","安娜贝尔","" “11”,“品牌之父和 儿子","f08b194668249e4cb81fbb92df846e90569f5c01","BrandfathersAndSons","" “12”,“想象一下 组","e86f1645504c7d5a45ed41d16ecc39ed19181773","ImagineGroup","" "13","EduSquare.pl","80c3c099f4ecc043a19f1527400d63588567a0ad","EduSquare.pl","" "101","tmp","b01134fac01dab765bcb55ab0ca33f9ec2885a7b","_","WOBC-14.squaredesign.atlassian.net@yoMama.com"

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-22
      • 2023-03-10
      • 1970-01-01
      • 2016-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多