问题:
如何同时转储所有表的内容使用以下命令将 MySQL 数据库中的表转换为 CSV 格式mysqldump?
答案:
虽然 mysqldump 缺乏直接命令以 CSV 格式转储所有表,但您可以通过使用以下方法来实现此目的:
第 1 步:解析表名称
使用以下命令获取所有表名称的列表:
mysql -u username -ppassword dbname -sN -e "SHOW TABLES;"
第 2 步:迭代表并转储
对于步骤 1 中检索到的每个表名称,循环运行此命令(将
mysql -B -u username -p password database -h dbhost -e "SELECT * FROM <table_name>;" \ | sed "s/\"/\"\"/g;s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g"
步骤 3:将输出保存到文件
将以下内容附加到命令末尾以将输出保存为 CSV 文件:
> <table_name>.csv
此方法为每个表生成单独的 CSV 文件,提供所有表的全面转储内容。
以上是如何使用 mysqldump 将所有 MySQL 表导出到 CSV?的详细内容。更多信息请关注PHP中文网其他相关文章!