JK.Li 登录

获取SqlServer2005表结构(字段,主键,外键,递增,描述)

Posted by 2014/6/19 17:35:32  •  Author:JK.Li

1.获取表的基本字段属性

    --获取SqlServer中表结构 

SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND syscolumns.id = object_id('你的表名')

    运行效果

    800.jpg

2.如果还想要获取字段的描述信息则

--获取SqlServer中表结构 主键,及描述

declare @table_name as varchar(max)
set @table_name = '你的表名' 
select sys.columns.name, sys.types.name, sys.columns.max_length, sys.columns.is_nullable, 
   (select count(*) from sys.identity_columns where sys.identity_columns.object_id = sys.columns.object_id andsys.columns.column_id = sys.identity_columns.column_id) as is_identity ,
   (select value from sys.extended_properties where sys.extended_properties.major_id = sys.columns.object_id andsys.extended_properties.minor_id = sys.columns.column_id) as description
  from sys.columns, sys.tables, sys.types where sys.columns.object_id = sys.tables.object_id andsys.columns.system_type_id=sys.types.system_type_id and sys.tables.name=@table_name order by sys.columns.column_id

运行效果

3.单独查询表的递增字段


--单独查询表递增字段

select [name] from syscolumns where 
id=object_id(N'你的表名') and COLUMNPROPERTY(id,name,'IsIdentity')=1

运行效果


4.获取表的主外键


--获取表主外键约束

exec sp_helpconstraint   '你的表名' ;

运行效果



SQL Server表描述 及 字段描述的增、删、改、查询


--创建表及描述信息

create   table   表(a1   varchar(10),a2   char(2))


--为表添加描述信息

EXECUTE   sp_addextendedproperty   N'MS_Description',   '人员信息表',   N'user',   N'dbo',   N'table',   N'表',   NULL,   NULL


--为字段a1添加描述信息

EXECUTE   sp_addextendedproperty   N'MS_Description',   '姓名',   N'user',   N'dbo',   N'table',   N'表',   N'column',   N'a1'

--为字段a2添加描述信息

EXECUTE   sp_addextendedproperty   N'MS_Description',   '性别',   N'user',   N'dbo',   N'table',   N'表',   N'column',   N'a2'

--更新表中列a1的描述属性:

EXEC   sp_updateextendedproperty   'MS_Description','字段1','user',dbo,'table','表','column',a1


--删除表中列a1的描述属性:

EXEC   sp_dropextendedproperty   'MS_Description','user',dbo,'table','表','column',a1


--删除测试

drop   table   表


至于查询出来,sql server有提供系统函数fn_listextendedproperty ():


--获取某一个字段的描述

SELECT   *
FROM   ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', '表名', 'column', default)--其他变数,按照你的要求你照写即可,只要表名换成你的
where objname = '字段名'



EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'城市名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tbl_City', @level2type=N'COLUMN', @level2name=N'cCity_Name'


Tagged: 字段 主键 外键 递增 描述  

Comments (0)  • 

0 评论列表

发表评论

京公网安备 11010702001442号