≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > SQL Server

SQL Server 获取表结构中字段的备注、主键等信息的sql

人气:366 时间:2020-03-11

这篇文章主要为大家详细介绍了SQL Server 获取表结构中字段的备注、主键等信息的sql,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

1、MSSQL2000

代码如下:

 
SELECT 
表名 = case when a.colorder=1 then d.name else '' end, 
表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 
字段序号 = a.colorder, 
字段名 = a.name, 
标识 = case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end, 
主键 = case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in ( 
SELECT name FROM sysindexes WHERE indid in( 
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) then '√' else '' end, 
类型 = b.name, 
占用字节数 = a.length, 
长度 = COLUMNPROPERTY(a.id,a.name,'PRECISION'), 
小数位数 = isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0), 
允许空 = case when a.isnullable=1 then '√'else '' end, 
默认值 = isnull(e.text,''), 
字段说明 = isnull(g.[value],'') 
FROM 
syscolumns a 
left join 
systypes b 
on 
a.xusertype=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 
left join 
sysproperties f 
on 
d.id=f.id and f.smallid=0 
where 
d.name='FI_dept' --如果只查询指定表,加上此条件 
order by 

a.id,a.colorder 


2、MSSQL2005

use test--数据库
go
--2005实现字段属性统计(2000里的系统表sysproperties描述表、字段不存在,2005里用sys.extended_properties视图替代)
select
[表名]=c.Name,
[表说明]=isnull(f.[value],''),
[列名]=a.Name,
[列序号]=a.Column_id,
[标识]=case when is_identity=1 then '√' else '' end,
[主键]=case when exists(select 1 from sys.objects where parent_object_id=a.object_id and type=N'PK' and name in
(select Name from sys.indexes where index_id in
(select indid from sysindexkeys where and colid=a.column_id)))
then '√' else '' end,
[类型]=b.Name,
[字节数]=case when a.[max_length]=-1 and b.Name!='xml' then 'max/2G'
when b.Name='xml' then ' 2^31-1字节/2G'
else rtrim(a.[max_length]) end,
[长度]=ColumnProperty(a.object_id,a.Name,'Precision'),
[小数]=isnull(ColumnProperty(a.object_id,a.Name,'Scale'),0),
[是否為空]=case when a.is_nullable=1 then '√' else '' end,
[列说明]=isnull(e.[value],''),
[默认值]=isnull(d.text,'')
from
sys.columns a
left join
sys.types b on a.user_type_id=b.user_type_id
inner join
sys.objects c on a.object_id=c.object_id and c.Type='U'
left join
syscomments d on a.default_object_id=d.ID
left join
sys.extended_properties e on e.major_id=c.object_id and e.minor_id=a.Column_id and e.class=1
left join
sys.extended_properties f on f.major_id=c.object_id and f.minor_id=0 and f.class=1
[/code]
结果:
【图片暂缺】

本文来自:http://www.q1010.com/179/8418-0.html

注:关于SQL Server 获取表结构中字段的备注、主键等信息的sql的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:SQL SERVER

您可能感兴趣的文章

  • SQL Server 将ACCESS数据库迁移到SQLSERVER数据库两种方法
  • SQL Server 使用mongovue把sqlserver数据导入mongodb的简单示例
  • SQL Server driver配置方法 jdbc连接sqlserver的简单示例
  • SQL Server 查找查询死锁源头的方法 sqlserver死锁监控
  • Linux环境中使用BIEE 连接SQLServer业务数据源的简单示例
  • SqlServer 类似Oracle的before触发器实现方法
  • SQL Server 压缩MS SQLServer日志语句示例
  • win2003安装sqlserver 2000提示无法验证产品密钥解析
  • SqlServer 基础知识 数据检索、查询排序语句
  • SQL Server利用sys.sysprocesses检查SqlServer的阻塞和死锁
上一篇:SQL Server 全文索引的用法
下一篇:SQL Server Sql日期时间格式转换
热门文章
  • SQL Server SQL获取第一条记录的方法
  • SQL Server出现System.OutOfMemoryException异常的解决方法
  • SQL Server的 update from 语句的简单示例
  • SQL Server 数据库备份方法菜鸟教程
  • SQL Server 多表关联时在where语句中慎用trim()方法
  • SQL Server数据类型及长度限制详细说明
  • mybaits非配置原因,导致SqlSession was not registered for synchronization异常解析
  • SQL Server 收缩后对数据库的使用有影响吗?
  • SQL Server 格式导致的Excel导入sql出现异常的解决方法
  • SQL Server 连接服务器出现错误 7391的解决方法
  • 最新文章
    • SQL Server存储过程基本语法的简单示例
    • sql查询时增加自动编号和分页的简单示例
    • sql轻松应付百万数据的高效数据分页存储过程的简单示例
    • sql获取一条数据中所有字段的名称和值的实现方法
    • sql分割函数的简单示例
    • SQL Server异常捕获的简单示例
    • SQL SERVER回滚恢复误操作数据的实现方法
    • SQL Server函数或存储过程中抛出异常的实现方法
    • SQL Server创建数据库的完整代码
    • SQL Server创建数据库的命令用法示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。