2013-03-13 148 views
-2

我正在试图从表格中找到以下信息。我能得到Rows CountColumn NameAttribute (DataType)收集数据库表信息?

No.Of columns 
No.Of Rows Count 
Column name 
Attribute (DataType) 
Min Value 
Max Value 
Non null count 
Distinct count of the column 

任何想法?

+0

您能否包含一些工作代码? – 2013-03-13 16:29:17

+0

你可以在Stored Procedure的帮助下获得,你可以在这里找到一个引用链接:[获取SQL表信息](http://www.codeproject.com/Tips/396093/Get-SQL-Server-表信息) – 2013-03-13 16:30:02

+0

您需要两件事:关于表的数据以及来自表的数据。首先,查看[目录视图](http://msdn.microsoft.com/en-us/library/ms189783.aspx),然后查询表格。如何将它组合成单个表取决于你(TSQL,.NET,其他),但这里没有任何东西看起来很复杂,所以也许你可以给出你已经尝试过的更多具体细节以及你被困在哪里。 – Pondlife 2013-03-13 18:30:08

回答

0

这些项目中的很多项都可以在INFORMATION_SCHEMA.COLUMNS视图中找到,其余项可以通过查询表本身来找到。你说你想以表格的形式提供这些数据,但是很多项目并不适合在一起。你能提供一个结果集应该是什么样子的例子吗?

-- No.Of columns 
SELECT COUNT(*) 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'your_table' 

-- No.Of Rows Count 
SELECT COUNT(*) 
FROM your_table 

--Column name 
SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'your_table' 

--Attribute (DataType) 
SELECT DATA_TYPE, CHARACTER_MAXIMUM_LENGTH 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'your_table' 

--Min Value 
SELECT MIN(column_1) 
FROM your_table 

--Max Value 
SELECT MAX(column_1) 
FROM your_table 

--Non null count 
SELECT SUM(CASE WHEN column_1 IS NOT NULL THEN 1 ELSE 0 END) AS not_null_count 
FROM your_table 

--Distinct count of the column 
SELECT COUNT(*) 
FROM your_table 
GROUP BY column_1