Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Show Datadictionary von Tabellen

Hier ist, was ich verwende, um ein Datenwörterbuch zu generieren, wenn ich muss:

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

Dadurch werden alle Datenbanken auf dem Server aufgelistet. Möglicherweise möchten Sie die where-Klausel so ändern, dass sie nur das gewünschte spezifische Tabellenschema betrachtet.