SqlServer数据库:查看表结构的SQL「建议收藏」

数据库 (60) 2023-07-31 12:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说SqlServer数据库:查看表结构的SQL「建议收藏」,希望能够帮助你!!!。

SELECT

( CASE WHEN a.colorder= 1 THEN d.name ELSE NULL END ) 表名,

a.colorder 字段序号,

a.name 字段名,

( CASE WHEN COLUMNPROPERTY( a.id, a.name, 'IsIdentity' ) = 1 THEN '√' ELSE '' END ) 标识,

(

CASE

WHEN (

SELECT COUNT

( * )

FROM

sysobjects

WHERE

(

name IN (

SELECT

name

FROM

sysindexes

WHERE

( id = a.id )

AND (

indid IN (

SELECT

indid

FROM

sysindexkeys

WHERE

( id = a.id )

AND (

colid IN (

SELECT

colid

FROM

syscolumns

WHERE

( id = a.id )

AND ( name = a.name )))))))

AND ( xtype = 'PK' )) > 0 THEN

'√' ELSE ''

END

) 主键,

b.name 类型,

a.length 占用字节数,

COLUMNPROPERTY( a.id, a.name, 'PRECISION' ) AS 长度,

isnull( COLUMNPROPERTY( a.id, a.name, 'Scale' ), 0 ) AS 小数位数,

( CASE WHEN a.isnullable= 1 THEN '√' ELSE '' END ) 允许空,

isnull( e.text, '' ) 默认值,

isnull( g.[value], ' ' ) AS [说明]

FROM

syscolumns a

LEFT JOIN systypes b ON a.xtype= 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 sys.extended_properties g ON a.id= g.major_id

AND a.colid= g.minor_id

LEFT JOIN sys.extended_properties f ON d.id= f.class

AND f.minor_id= 0

WHERE

b.name IS NOT NULL

AND d.name= '要查询的表'

ORDER BY

a.id,

a.colorder

发表回复