2009-10-11 62 views
1

我想查詢一個MySql數據庫以顯示所有現有數據庫基於提供的條件(條件適用於數據庫名稱)。 現在因爲我的情況很複雜,簡單的「LIKE」條件還不夠,我需要使用常規的WHERE子句。「顯示數據庫」的條件

任何人都可以提供如何做到這一點的樣本?

回答

5
USE INFORMATION_SCHEMA; 
SELECT `SCHEMA_NAME` from `SCHEMATA` WHERE `SCHEMA_NAME` LIKE "%whatever%"; 

docs閱讀更多。

3

通過gnud給出的溶液可以更優化以:

SELECT `schema_name` from INFORMATION_SCHEMA.SCHEMATA WHERE `SCHEMA_NAME` LIKE "%whatever%"; 

任務只有一個SQL查詢完成。

使用'USE'SQL命令時,所有數據庫信息在選擇之前都會被讀取,如表格列表和它的內容。使用上述查詢,您將位於您自己的數據庫中,並能夠從不同數據庫中的表中查詢內容。

你可以使用:

USE INFORMATION_SCHEMA -A; 

這就避免了數據庫內容的閱讀。

其中:

模式名 - >列名 INFORMATION_SCHEMA.SCHEMATA - >名前 ''是數據庫名稱,後面是表名。

希望這個解決方案有幫助。