提取数据库内所有表的字段详细说明的SQL语句

本文提供了一段 SQL 查询语句,用于从 SQL Server 数据库中获取表结构详情,包括字段名称、数据类型、是否为主键及标识等信息。

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

SELECT 
(
case when a.colorder=1 then d.name else '' end) N'表名'
a.colorder N
'字段序号'
a.name N
'字段名'
(
case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then ''else '' 
end) N'标识'
(
case when (SELECT count(*
FROM sysobjects 
WHERE (name in 
(
SELECT name 
FROM sysindexes 
WHERE (id = a.id) AND (indid in 
(
SELECT indid 
FROM sysindexkeys 
WHERE (id = a.id) AND (colid in 
(
SELECT colid 
FROM syscolumns 
WHERE (id = a.id) AND (name = a.name))))))) AND 
(xtype 
= 'PK'))>0 then '' else '' end) N'主键'
b.name N
'类型'
a.length N
'占用字节数'
COLUMNPROPERTY(a.id,a.name,'PRECISION'as N'长度'
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0as N'小数位数'
(
case when a.isnullable=1 then ''else '' end) N'允许空'
isnull(e.text,'') N'默认值'
isnull(g.[value],''AS N'字段说明' 
FROM syscolumns a 
left join systypes b 
on a.xtype=b.xusertype 
inner join sysobjects d 
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' 
left join syscomments e 
on a.cdefault=e.id 
left join sysproperties g 
on a.id=g.id AND a.colid = g.smallid 
order by object_name(a.id),a.colorder
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值