显示多个mysql表的表结构

时间:2016-11-10 22:34:39

标签: mysql

我正在尝试显示多个mysql表的表结构(如每个表的列列表),它匹配特定的字符串,如

SHOW CREATE TABLE TABLE_NAME LIKE '%CATEGORY%'

我这样做了,但它没有显示表的结构。

`select * from `information_schema`.`tables`
  where table_name like 'category%' AND TABLE_SCHEMA =  'DB_name'`

由于

1 个答案:

答案 0 :(得分:0)

要获得表的完整结构,您需要查询INFORMATION_SCHEMA中的许多表,而不仅仅是TABLES。 TABLES仅包含表的属性,而不包含其列,索引或约束。

没有INFORMATION_SCHEMA表格显示CREATE TABLE之类的完整SHOW CREATE TABLE语句。

SHOW CREATE TABLE只接受一个表名作为参数。

最简单的解决方案是获取与您的模式匹配的表的列表:

select table_name from `information_schema`.`tables`
where table_name like 'category%' AND TABLE_SCHEMA =  'DB_name'

然后在循环中获取该查询的结果,并为查询返回的每个表运行SHOW CREATE TABLE DBName.<table_name>