获取MS SQL库数据字典的经典SQL语句

本文提供了一条用于获取MSSQL数据库中所有表及其字段详细信息的经典SQL语句,包括表说明、字段名、字段说明、字段类型、长度、小数位数、是否允许为空、默认值、是否为标识字段及是否为主键。

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

--
获取MS SQL库数据字典的经典SQL语句


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 '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值