一种在MySQL数据库中搜索表单的方法

时间:2010-06-15 08:25:08

标签: php mysql

我找了一种方法来扫描特定表的数据库。例如,我有:

Database: system_ultimate Table: system_settings

让我们说,那个人不知道桌子的确切名称。他只知道,与 设置 这个词有关。 他怎么能搜索那个表名呢?

我理解,通常是开发人员知道,他们开发的是什么,但我正试图让MVC挂起,我试图尽可能远离使用该名称与表直接通信。

我知道,要查看我可以使用SHOW TABLES;

的所有表格

4 个答案:

答案 0 :(得分:1)

您可以从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

答案 1 :(得分:1)

SHOW TABLES LIKE '%settings';

答案 2 :(得分:0)

word settings必须匹配某组标准或naming convention,以便您可以计算正确的名称,就像任何MVC框架一样。如果表名不同,则编码器将在模型中指定表名。

答案 3 :(得分:0)

MySQL在此数据库中有数据库 information_schema Mysql包含所有数据库名称表名称和列名称。

您可以使用select:

获取所有表格列
SELECT `TABLE_SCHEMA` , `TABLE_NAME` , `COLUMN_NAME`
FROM `information_schema`.`COLUMNS`
WHERE `TABLE_SCHEMA` = 'myDb'
AND `TABLE_NAME` LIKE ('test%')