MySQL显示表的Datadictionary

SiH*_*Lee 4 mysql

我想为数据库中的整个表显示DataDictionary.

SHOW COLUMNS
FROM `MyDataBase`.`MyTables` 
WHERE IN ( SELECT TABLE_NAME 
           FROM information_schema.TABLES 
           WHERE TABLE_SCHEMA = 'MyDataBase'
);
Run Code Online (Sandbox Code Playgroud)

我可以使用这样的查询吗?我想使用单个查询查看整个列数据

pba*_*ney 7

以下是我必须使用以生成数据字典时:

SELECT t.table_schema AS db_name,
       t.table_name,
       (CASE WHEN t.table_type = 'BASE TABLE' THEN 'table'
             WHEN t.table_type = 'VIEW' THEN 'view'
             ELSE t.table_type
        END) AS table_type,
        c.column_name,
        c.column_type,
        c.column_default,
        c.column_key,
        c.is_nullable,
        c.extra,
        c.column_comment
FROM information_schema.tables AS t
INNER JOIN information_schema.columns AS c
ON t.table_name = c.table_name
AND t.table_schema = c.table_schema
WHERE t.table_type IN ('base table', 'view')
AND t.table_schema LIKE '%'
ORDER BY t.table_schema,
         t.table_name,
         c.ordinal_position
Run Code Online (Sandbox Code Playgroud)

这将列出服务器上的所有数据库.您可能希望将where子句更改为仅查看所需的特定表架构.


Vik*_*ram 4

这是你想要的吗:

SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' 
    AND `TABLE_NAME`='yourtablename';
Run Code Online (Sandbox Code Playgroud)