簡體   English   中英

將 mysql 表下載到 csv 文件中(使用 WorkBench)

[英]downloading a mysql table too large to fit in memory into csv files (using WorkBench)

我在 mysql 數據庫中有一些巨大的 sql 表(> 50M)存儲。 我只需要將它們下載到.csv 文件中。

我知道我可以通過以下方式限制返回值的大小:

SELECT * FROM myTable
LIMIT 1000000; 

但是,對於 >1M 行,我一直用完 memory。

此外,由於某種原因,如果使用 MySQL Workbench 5.2.47 以外的任何其他客戶端,我會收到來自服務器的握手失敗應答/連接被拒絕。 所以我必須堅持這個工具和版本。 另外,我不能更換機器,所以 memory 限制是一個約束。

如何實現並循環下載並存儲 csv 文件中的大表,並確保結果的順序和唯一性?

您可以使用SELECT INTO FILE來生成csv 生成 1M 行的文件應該沒有任何問題。

有關屬性語法和字段分隔符等,請參閱文檔。

https://dev.mysql.com/doc/refman/8.0/en/select-into.html

一個個人樣本SELECT * INTO OUTFILE '/<OUTPUT_DIR>/export.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM TABLE_NAME <WHERE condition> <ordering> LIMIT <BATCH_SIZE>;"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM