查看数据库所有用户表及其列信息

本文提供了一段SQL查询语句,用于获取SQL Server 2005中所有用户表的详细结构信息,包括字段名称、类型、长度等属性。

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

SELECT  obj. object_id , obj.name table_name, c.column_id, c.name column_name, c.system_type_id, c.is_nullable, 
    c.is_identity, c.is_computed, ind.is_primary_key, c.max_length, 
    
COLUMNPROPERTY ( c. object_id , c. [ name ] ' Precision '  )  Precision
    
ISNULL COLUMNPROPERTY ( c. object_id , c. [ name ] ' Scale '  ),  0  ) Scale, d.definition  [ Default ]  
FROM  sys.columns c 
    
INNER   JOIN  sys.objects obj  on  c. object_id   =  obj. object_id  
    
LEFT   JOIN  sys.default_constraints d  on  c.default_object_id  =  d. object_id  
    
LEFT   JOIN  sys.index_columns ic  ON  c. object_id   =  ic. object_id   AND  c.column_id  =  ic.column_id 
    
LEFT   JOIN  sys.indexes ind  ON  c. object_id   =  ind. object_id   AND  ic.index_id  =  ind.index_id 
WHERE  obj.type  LIKE   ' U '  
    
-- AND obj.[name] LIKE 'Log'    -- 需要查看某个表信息时添加此条件


注:仅适用于2005版本,因为2000的代码已有邹老师的标准版本,优快云上一大把,故不累述。

以上代码参考邹老师为2000写的代码,查阅2005帮助后,列出一些较为实用的属性,其实sys.columns里还有很多有用的属性,但不是经常使用,故不列出,如有兴趣可以自行添加列名列出。

 

http://apq.cnblogs.com/archive/2006/05/11/397580.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值