收集数据库表信息?

时间:2013-03-13 16:24:23

标签: sql sql-server-2008

我试图以表格格式从表格中找到以下信息。我可以获得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

有什么想法吗?

1 个答案:

答案 0 :(得分: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