mysql - 从命令行将 mysql 数据库转储到纯文本 (CSV) 备份

标签 mysql command-line csv backup

我想避免使用 mysqldump,因为它以只方便 mysql 读取的形式输出。 CSV 似乎更通用(每个表一个文件就可以了)。但是,如果 mysqldump 有优势,我会全力以赴。另外,我想要一些可以从命令行(linux)运行的东西。如果那是一个 mysql 脚本,那么如何制作这样的东西的指针会很有帮助。

最佳答案

如果您可以处理一次表,并且您的数据不是二进制的,请使用 mysql 命令的 -B 选项。使用此选项,它将生成 TSV(制表符分隔)文件,这些文件可以很容易地导入 Excel 等:

% echo 'SELECT * FROM table' | mysql -B -uxxx -pyyy database

或者,如果您可以直接访问服务器的文件系统,请使用 SELECT INTO OUTFILE可以生成真正的CSV文件:

SELECT * INTO OUTFILE 'table.csv'
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
FROM table

关于mysql - 从命令行将 mysql 数据库转储到纯文本 (CSV) 备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/467452/

相关文章:

php - MySQL变量超出范围

MYSQL 一个表中的所有记录以及另一表中的最后一个连接记录

mysql - SQL 中的顺序分组依据

windows - 使用命令行从其他文本文件更改文本文件中的行

java - 在插入下一批数据之前确定 CSV 大小

mysql - 在 MySQL 中索引和查询分析表的最佳方式

php - 从PHP Docker运行Python脚本

linux - 在命令行中删除 GIT 冲突标记

c - C/C++ 中文件读取的重命名文件的扩展问题

python - 在 Python 中格式化 CSV 文件的输出