SQLServer中查询表结构(表主键 、列说明、列数据类型、所有表名)的Sql语句

来源:互联网 发布:php软件下载 编辑:程序博客网 时间:2024/05/18 02:15

1、查询数据库中的所有表名称:

SELECT name FROM SysObjects Where XType='U' ORDER BY Name

结果:

 

2、查询数据库中指定表的表结构:

复制代码
--快速查看表结构SELECT  CASE WHEN col.colorder = 1 THEN obj.name                  ELSE ''             END AS 表名,        col.colorder AS 序号 ,        col.name AS 列名 ,        ISNULL(ep.[value], '') AS 列说明 ,        t.name AS 数据类型 ,        col.length AS 长度 ,        ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,        CASE WHEN COLUMNPROPERTY(col.id, col.name, 'IsIdentity') = 1 THEN '1'             ELSE ''        END AS 标识 ,        CASE WHEN EXISTS ( SELECT   1                           FROM     dbo.sysindexes si                                    INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id                                                              AND si.indid = sik.indid                                    INNER JOIN dbo.syscolumns sc ON sc.id = sik.id                                                              AND sc.colid = sik.colid                                    INNER JOIN dbo.sysobjects so ON so.name = si.name                                                              AND so.xtype = 'PK'                           WHERE    sc.id = col.id                                    AND sc.colid = col.colid ) THEN '1'             ELSE ''        END AS 主键 ,        CASE WHEN col.isnullable = 1 THEN '1'             ELSE ''        END AS 允许空 ,        ISNULL(comm.text, '') AS 默认值FROM    dbo.syscolumns col        LEFT  JOIN dbo.systypes t ON col.xtype = t.xusertype        inner JOIN dbo.sysobjects obj ON col.id = obj.id                                         AND obj.xtype = 'U'                                         AND obj.status >= 0        LEFT  JOIN dbo.syscomments comm ON col.cdefault = comm.id        LEFT  JOIN sys.extended_properties ep ON col.id = ep.major_id                                                      AND col.colid = ep.minor_id                                                      AND ep.name = 'MS_Description'        LEFT  JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id                                                         AND epTwo.minor_id = 0                                                         AND epTwo.name = 'MS_Description'WHERE   obj.name = 'PkAutoInc'--表名ORDER BY col.colorder ;
复制代码

结果:

转自:http://www.cnblogs.com/songxingzhu/p/5053149.html

阅读全文
0 0
原创粉丝点击