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

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

时间:2023-07-04 11:44:24浏览次数:40  
标签:JOIN name dbo 数据类型 col Sql obj 主键 id

--快速查看表结构
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 ;

标签:JOIN,name,dbo,数据类型,col,Sql,obj,主键,id
From: https://www.cnblogs.com/hualiuliu/p/17525359.html

相关文章

  • SQL专家云回溯某时间段内的阻塞
    背景SQL专家云像“摄像头”一样,对环境、参数配置、服务器性能指标、活动会话、慢语句、磁盘空间、数据库文件、索引、作业、日志等几十个运行指标进行不同频率的实时采集,保存到SQL专家云自己的数据库中。因此可以随时对任何一个时间段进行回溯。 趋势分析进入趋势分析页面,......
  • 如何在Windows上安装MySQL和MySQL Workbench
    如果你想学习MySQL,从一个好的客户端开始非常有帮助——尤其是当你刚刚开始你的旅程时。有很多客户端可以满足您基于MySQL的需求,例如XAMPP、DataGrip等。其中,我更喜欢MySQLWorkbench。顺便说一句,它是完全免费的。在本教程中,我将向您展示如何从头开始安装和配置此MySQL和......
  • MySQL自动安装脚本
    MySQL自动安装脚本分享原创 潇湘隐者 DBA闲思杂想录 2023-07-0322:52 发表于广东收录于合集#MySQL37个这里分享一个我写的MySQL自动安装脚本mysql_auto_install.sh,它的功能非常简单,就是自动化安装MySQL单实例,让DBA的工作更简单、轻松一些,不用去手工安装MySQL实例。......
  • mysql的主从复制docker
    masterdockerrun-id\-p3307:3306\--name=mysql57-master\--privileged=true\-v/mysql-master/conf:/etc/mysql\-v/mysql-master/log:/var/log/mysql\-v/mysql-master/data:/var/lib/mysql\-eMYSQL_ROOT_PASSWORD=123456\-dmysql:5.7.26[mysqld]##设置......
  • SpringBoot教学补充资料1-基础SQL语句
    #查询所有内容select*fromemployeeselect(属性1,属性2,...)from表名#通过id查询select*fromemployeewhereuid=1select(属性1,属性2,...)from表名where属性=指定的属性值#增加insertintoemployee(uid,uname,uage,uposition)values(8,'小黑',38,'实习生......
  • MySQL基础篇:逻辑架构图解和InnoDB存储引擎详解
    一、MySQL逻辑架构1、逻辑架构图基于下面的逻辑架构图,可以大致熟悉MySQL各个架构组件之间的协同工作关系。 很经典的C/S架构风格,即客户端/服务端模式。2、分层描述客户端连接通常会进行连接池管理,连接用户权限认证,安全管理等操作。可以通过如下命令查看连接配置信息:S......
  • mysql windows安装
    1.首先下载mysqlhttps://www.mysql.com/downloads/ 2.解压到D盘。在解压后的文件夹里创建一个data文件夹和一个my.ini文件my.ini文件夹内容路径根据自己存放解压位置修改一下,数据库存放目录自己建一个[mysql]#设置mysql客户端默认字符集default-character-set=utf8m......
  • MySQL自动安装脚本分享
    这里分享一个我写的MySQL自动安装脚本mysql_auto_install.sh,它的功能非常简单,就是自动化安装MySQL单实例,让DBA的工作更简单、轻松一些,不用去手工安装MySQL实例。从简单重复的工作中释放出来。下面是关于mysql_auto_install.sh脚本的一些说明:1:这个脚本运行在mysql用户下(注意,root......
  • mysql迁移到pqsql笔记
    在将MySQL迁移到PostgreSQL的过程中,遇到了一些问题,下面是一些简单的解决方案。使用命令,初始化数据库,并设置postgres的密码bin\initdb-EUTF-8-Amd5-Upostgres-W-Ddata--如果只使用bin\pg_ctl-Ddatainit则不会设置postgres的密码命令启动pqsql:bin\pg_ctl-Dda......
  • 软测笔记7-【mysql实操题】
    实操题1建表准备#建学生信息表studentcreatetablestudent(snovarchar(20)notnullprimarykey,snamevarchar(20)notnull,ssexvarchar(20)notnull,sbirthdaydatetime,classvarchar(20));#建立教师表createtableteacher(tnovarchar(20)notnullprima......