Mysql

如何導出包含異常的多表數據庫?

  • June 15, 2021

我正在使用 phpmyadmin 使用 sql 導出數據。

我有一個 88 表的數據庫。我想將所有數據從 85 個表中導出到 .csv,我只保留列 Length( Status) > 0 的行。

到目前為止,我已經想出了能夠從一個表中選擇所有數據。我想將除 3 個表之外的整個數據庫應用於我的整個數據庫並將其導出為 .csv。

選擇 * 從tableWHERE LENGTH( Status) > 0

對每個表使用SELECT INTO OUTFILE … WHERE LENGTH(Status) > 0

PHPMyAdmin 不是用於復雜任務的工具。

SELECT
   CONCAT("SELECT INTO OUTFILE ... FROM ", table_name, " WHERE ...")
   FROM information_schema.tables
   WHERE table_name NOT IN ("not_me_1", "not_me_1", "not_me_1")
     AND schema_name = "my_database_name";

這將生成 85 條SELECT語句。將它們複製/粘貼到允許您執行任意命令的 phpadmin 螢幕中。

(並考慮學習使用 mysql 命令行工具。)

你有什麼樣的價值觀statusLENGTH(Status) > 0似乎是一個奇怪的測試。另外,要注意NULL價值觀;了解一下IS NULL

引用自:https://dba.stackexchange.com/questions/227798