--得到数据库中所有用户表
Select [name] from sysObjects Where xtype=\'U\'and [name]<>\'dtproperties\' Order By [name]
--得到数据库中所有用户视图
Select [name] From sysObjects Where xtype=\'V\' And [name]<>\'syssegments\' And [name]<>\'sysconstraints\' Order By [name]
--获得指定表中所有的列
Select
c.name As ColumnName,
t.name As TypeName
From syscolumns c, systypes t, sysobjects o
Where c.xtype = t.xusertype
And c.id = o.id
And o.name = \'Customers\'
Order By c.colorder
--获得表中所有列的详细信息
Select ColOrder = col.colorder, --排序号
ColumnName = col.name, --列名
TypeName = type.name,--数据类型名称
Length = (Case When type.name=\'nvarchar\' Or type.name=\'nchar\' Then col.length/2 Else col.length End), --长度
[PRECISION] = COLUMNPROPERTY(col.id, col.name, \'PRECISION\'), --精度
Scale = ISNULL(COLUMNPROPERTY(col.id, col.name, \'Scale\'), 0), --小数
IsIdentity = Case When COLUMNPROPERTY(col.id, col.name, \'IsIdentity\')=1 Then \'√\' Else \'\' End, --是否为自动编号列
IsPK = Case When Exists(Select 1 From sysobjects Where xtype = \'PK\' And name In (
Select name From sysindexes Where indid In (
Select indid From sysindexkeys Where id = col.id And colid = col.colid
)
)
) Then \'√\' Else \'\' End, --是否为主键
AllowNull = Case When col.isnullable=1 Then \'√\' Else \'\' End, --是否允许为空
DefalutValue = isnull(com.text, \'\') --默认值
From syscolumns col
Left Join systypes type On col.xtype = type.xusertype
Inner Join sysobjects obj On col.id = obj.id And (obj.xtype = \'U\' Or obj.xtype = \'V\') And obj.name <> \'dtproperties\'
Left Join syscomments com On col.cdefault = com.id
Where obj.name = \'Territories\'