我想要编写一个查询,以显示特定数据库中的表列表及其表类型和该表的属性数量。
例如,

有人能帮我解决这个问题吗?
发布于 2021-10-03 06:16:17
当然,您可以像这样查询系统表:
SELECT TABLE_NAME,TABLE_ROWS,TABLE_TYPE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='DATABASENAME'更改数据库名称的DATABASENAME。您还可以显示许多其他选项,请检查:
SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='DATABASENAME'EDIT : Version with JOIN,这样我们就可以计算列数了
SELECT C.TABLE_NAME,T.TABLE_ROWS,T.TABLE_TYPE, count(C.table_name) AS COLUMNS_NUMBER
FROM INFORMATION_SCHEMA.TABLES AS T
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS C
ON C.TABLE_SCHEMA = T.TABLE_SCHEMA AND T.TABLE_NAME = C.TABLE_NAME
WHERE T.TABLE_SCHEMA='DATABASENAME'
GROUP BY C.TABLE_NAME, T.TABLE_SCHEMA,T.TABLE_ROWS,T.TABLE_TYPEhttps://stackoverflow.com/questions/69422099
复制相似问题