MySQL-联合显示表?

qwe*_*rty 1 mysql union select

有没有办法使用UNION或JOIN列出所有表和列的名称?

kvi*_*sta 5

如果您想要模式中的所有表和列,则无需使用UNION和BIND,只需将数据连接到

  • information_schema。列
  • information_schema.tables

会成功的 请参阅以下两者的详细信息:

http://dev.mysql.com/doc/refman/5.0/en/information-schema.html

一个示例查询将达到您的目标的最低要求:

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
Run Code Online (Sandbox Code Playgroud)

但是同样,可能需要基于表名将两者结合在一起-取决于您的确切目标。

如果只希望名称中带有UNION / BIND的表和名称中带有UNION / BIND的列,则可以执行以下两个简单查询:

SELECT TABLE_NAME from INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME LIKE '%UNION%' or TABLE_NAME LIKE '%BIND%'
Run Code Online (Sandbox Code Playgroud)

SELECT TABLE_NAME, COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%UNION%' or TABLE_NAME LIKE '%BIND%'
Run Code Online (Sandbox Code Playgroud)