我在尋找一種掃描數據庫以查找特定表格的方法。例如,我有:一種在MySQL數據庫中搜索表格的方法
Database: system_ultimate Table: system_settings
讓我們說,一個不知道表的確切名稱。他只知道,這是一些如何連接到單詞設置。 那他怎麼能搜索那個表名呢?
我明白,那些開發人員通常知道,他們開發了什麼,但我試圖獲得MVC的訣竅,我試圖儘可能遠離使用名稱與表的直接通信。
我知道,看到所有的表,我可以用SHOW TABLES;
我在尋找一種掃描數據庫以查找特定表格的方法。例如,我有:一種在MySQL數據庫中搜索表格的方法
Database: system_ultimate Table: system_settings
讓我們說,一個不知道表的確切名稱。他只知道,這是一些如何連接到單詞設置。 那他怎麼能搜索那個表名呢?
我明白,那些開發人員通常知道,他們開發了什麼,但我試圖獲得MVC的訣竅,我試圖儘可能遠離使用名稱與表的直接通信。
我知道,看到所有的表,我可以用SHOW TABLES;
的word settings
必須符合特定一套標準或naming convention
,這樣你可以計算出正確的名字,就像任何MVC框架會。如果表名不同,那麼編碼器將在模型中指定表名。
MySQL擁有數據庫information_schema在這個數據庫中Mysql擁有所有DB名稱表名和列名。
你可以得到所有的表列與選擇:
SELECT `TABLE_SCHEMA` , `TABLE_NAME` , `COLUMN_NAME`
FROM `information_schema`.`COLUMNS`
WHERE `TABLE_SCHEMA` = 'myDb'
AND `TABLE_NAME` LIKE ('test%')
您可以從INFORMATION_SCHEMA
得到這些SELECT table_name FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = 'system_ultimate'
table_name LIKE '%word%'
更多關於這可以http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
發現...所以你想找到一個你不知道的名字? – 2010-06-15 08:33:52
是的。正確。類似於查找作者姓名='some_text%'的記錄。 – Eugene 2010-06-15 08:55:46