获取SQL Server数据字典的经典SQL语句

本文提供了一段SQL脚本,用于从SQL Server中查询表的详细元数据信息,包括表名、字段名、数据类型、是否允许为空等,有助于更好地理解和维护数据库结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SELECT sysobjects.name AS [table], sysproperties.[value] AS 表说明,

syscolumns.name AS field, properties.[value] AS 字段说明, systypes.name AS type,

syscolumns.length, ISNULL(COLUMNPROPERTY(syscolumns.id, syscolumns.name,

'Scale'), 0) AS 小数位数, syscolumns.isnullable AS isnull,

CASE WHEN syscomments.text IS NULL

THEN '' ELSE syscomments.text END AS [Default],

CASE WHEN COLUMNPROPERTY(syscolumns.id, syscolumns.name, 'IsIdentity')

= 1 THEN '√' ELSE '' END AS 标识, CASE WHEN EXISTS

(SELECT 1

FROM sysobjects

WHERE xtype = 'PK' AND name IN

(SELECT name

FROM sysindexes

WHERE indid IN

(SELECT indid

FROM sysindexkeys

WHERE id = syscolumns.id AND colid = syscolumns.colid)))

THEN '√' ELSE '' END AS 主键

FROM syscolumns INNER JOIN

sysobjects ON sysobjects.id = syscolumns.id INNER JOIN

systypes ON syscolumns.xtype = systypes.xtype LEFT OUTER JOIN

sysproperties properties ON syscolumns.id = properties.id AND

syscolumns.colid = properties.smallid LEFT OUTER JOIN

sysproperties ON sysobjects.id = sysproperties.id AND

sysproperties.smallid = 0 LEFT OUTER JOIN

syscomments ON syscolumns.cdefault = syscomments.id

WHERE (sysobjects.xtype = 'U') order by [table]

转载于:https://www.cnblogs.com/fhuafeng/archive/2009/08/18/1548840.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值