【发布时间】:2010-12-07 05:15:28
【问题描述】:
是否有任何查询可以让我获得表列表以及本地服务器上选定数据库的每个表中的列数。
如果有任何想法,请转发...
【问题讨论】:
标签: c# sql sql-server sql-server-2005 tsql
是否有任何查询可以让我获得表列表以及本地服务器上选定数据库的每个表中的列数。
如果有任何想法,请转发...
【问题讨论】:
标签: c# sql sql-server sql-server-2005 tsql
用途:
SELECT t.table_name,
COUNT(*)
FROM INFORMATION_SCHEMA.TABLES t
JOIN INFORMATION_SCHEMA.COLUMNS c ON c.table_name = t.table_name
WHERE t.table_catalog = 'your_database'
AND t.table_schema = 'your_schema'
GROUP BY t.table_name
【讨论】:
select TABLE_NAME, COUNT(*)
from information_schema.columns
group by TABLE_NAME
【讨论】:
SELECT s.name as tablename, COUNT(*) as columns
from sys.tables s
inner join information_schema.columns i on s.name = i.TABLE_NAME
group by s.name
【讨论】:
sys.tables 以获取表名似乎很奇怪,但是您不使用sys.columns 作为列名.....我建议EITHER 使用 SQL Server 特定的 sys.* 目录视图,或 使用 ANSI 标准 INFORMATION_SCHEMA 视图 - 但不要开始混合这两个.....