从具有特定列的 MySQL 数据库(例如 xyz)中获取所有表?
假设我们有一个数据库“web”,我们需要获取所有具有特定列“StudentFirstName”的表。
为此,以下为查询 −
mysql> select myColumnName.table_name from information_schema.columns myColumnName where myColumnName.column_name = 'StudentFirstName' and table_schema='web';
这将产生以下输出 −
+---------------+ | TABLE_NAME | +---------------+ | demotable109 | | demotable297 | | demotable335 | | demotable395 | | demotable418 | | demotable425 | | demotable436 | +---------------+ 7 rows in set (0.14 sec)
因此,上述表的列名称之一为“StudentFirstName”。
让我们检查其中任何表的描述以查找列名“StudentFirstName” −
mysql> desc demotable297;
这将产生以下输出,显示其中一个列名为“StudentFirstName” −
+------------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------------+--------------+------+-----+---------+-------+ | StudentId | int(11) | YES | | NULL | | | StudentFirstName | varchar(100) | YES | | NULL | | | StudentLastName | varchar(100) | YES | | NULL | | +------------------+--------------+------+-----+---------+-------+ 3 rows in set (0.01 sec)
广告