MSSql得到表的结构和字段

时间:2021-11-22 02:30:40

得到数据库中所有的表

select name from sysobjects where xtype='u' and name='{0}'

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

--获取SqlServer中表结构 
SELECT syscolumns.name,systypes.name,syscolumns.isnullable,
syscolumns.length 
FROM syscolumns, systypes 
WHERE syscolumns.xusertype = systypes.xusertype 
AND syscolumns.id = object_id('你的表名')

运行效果
MSSql得到表的结构和字段
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 and sys.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 and sys.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 and sys.columns.system_type_id=sys.types.system_type_id and sys.tables.name=@table_name order by sys.columns.column_id

运行效果
MSSql得到表的结构和字段
3.单独查询表的递增字段

--单独查询表递增字段
select [name] from syscolumns where 
id=object_id(N'你的表名') and COLUMNPROPERTY(id,name,'IsIdentity')=1

运行效果
MSSql得到表的结构和字段
4.获取表的主外键

--获取表主外键约束
exec sp_helpconstraint   '你的表名' ;

运行效果
MSSql得到表的结构和字段