Mysql
如何導出包含異常的多表數據庫?
我正在使用 phpmyadmin 使用 sql 導出數據。
我有一個 88 表的數據庫。我想將所有數據從 85 個表中導出到 .csv,我只保留列 Length(
Status
) > 0 的行。到目前為止,我已經想出了能夠從一個表中選擇所有數據。我想將除 3 個表之外的整個數據庫應用於我的整個數據庫並將其導出為 .csv。
選擇 * 從
table
WHERE 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 命令行工具。)
你有什麼樣的價值觀
status
?LENGTH(Status) > 0
似乎是一個奇怪的測試。另外,要注意NULL
價值觀;了解一下IS NULL
。