mysql - 使用 SELECT 语句将非常大的 MySQL 表导出到 .CSV 文件?

标签 mysql export mysqldump export-to-csv

我有一个约 1B 行的 MySQL 表。我需要将每一行中的一列导出到 CSV 中。

  • 我尝试了以下操作,但查询使用了我导出查询的本地机器上的所有内存和 mysql进程被杀死。
    mysql -uuser -ppass -h host.com --database=dbname -e "select column_name FROM table_name" > column_name_export.csv
  • 我不能使用 SELECT INTO OUTFILE因为 MySQL 实例在 Amazon RDS 中运行,而我无权访问服务器。

  • 是否有一个 MySQL 实用程序可以批量导出它,或者我是否需要编写一个脚本来选择 id 范围?

    最佳答案

    一种方法是使用 Server-side cursors .

    但在我的情况下,即使服务器内存不足(对于非常大的表),所以我选择将文件分成多个批次,按任何 id 排序。

    关于mysql - 使用 SELECT 语句将非常大的 MySQL 表导出到 .CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34280214/

    相关文章:

    sqlite - 从 sqlite 数据库转储 PRAGMA

    java - 无法运行 JAR 文件(在 Eclipse 中创建)

    mysql - 如何导出mysql的特定类别

    mysql - 无法删除 mySQL 表。 (错误 1050)

    mysql - 在第 1 行的 ' ■/' 附近导入 mysqldump 文件错误 1064 (42000)

    php - 输入字段数据与DB比较并显示db的另一个值

    php - Laravel - 查询数据库表上最新日期的优雅方式

    sql - 是否可以构建以下 SQL 查询

    Java Hibernate Hierachy子类中不同的JoinColumn Column 'C01'指定了两次

    mysql - 获取 mysqldump 以转储适合 psql 输入的数据(转义单引号)