查询所有用户表和表的结构

--查询所有用户表
SELECT  name
FROM    sysobjects
WHERE   xtype = 'U'

--查询所有用户表的表名、表结构、字段注释
SELECT  表名 = CASE WHEN A.COLORDER = 1 THEN D.NAME
                  ELSE ' '
             END ,
        表备注 = CASE WHEN A.COLORDER = 1 THEN ISNULL(F.VALUE, ' ')
                   ELSE ' '
              END ,
        列序号 = A.COLORDER ,
        列名称 = A.NAME ,
        标识 = CASE WHEN COLUMNPROPERTY(A.ID, A.NAME, 'ISIDENTITY ') = 1
                  THEN '√ '
                  ELSE ' '
             END ,
        主键 = CASE WHEN EXISTS ( SELECT  1
                                FROM    SYSOBJECTS
                                WHERE   XTYPE = 'PK '
                                        AND PARENT_OBJ = A.ID
                                        AND NAME IN (
                                        SELECT  NAME
                                        FROM    SYSINDEXES
                                        WHERE   INDID IN (
                                                SELECT  INDID
                                                FROM    SYSINDEXKEYS
                                                WHERE   ID = A.ID
                                                        AND COLID = A.COLID ) ) )
                  THEN '√ '
                  ELSE ' '
             END ,
        类型 = B.NAME ,
        字节 = A.LENGTH ,
        长度 = COLUMNPROPERTY(A.ID, A.NAME, 'PRECISION ') ,
        小数位 = ISNULL(COLUMNPROPERTY(A.ID, A.NAME, 'SCALE '), 0) ,
        允许空 = CASE WHEN A.ISNULLABLE = 1 THEN '√ '
                   ELSE ' '
              END ,
        默认值 = ISNULL(E.TEXT, ' ') ,
        列备注 = ISNULL(G.[VALUE], ' ')
FROM    SYSCOLUMNS A
        LEFT   JOIN SYSTYPES B ON A.XUSERTYPE = 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.major_id
                                                 AND F.minor_id = 0
--where  D.NAME='sys_Area'   --查询这个表
ORDER BY A.ID ,
        A.COLORDER


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值