首页 > 数据库 >Sql Server 2005 获取表结构信息

Sql Server 2005 获取表结构信息

时间:2024-08-31 20:36:26浏览次数:6  
标签:CASE END name Sql WHEN Server 2005 id SELECT

SELECT 表名   = CASE a.colorder WHEN 1 THEN c.name ELSE '' END,
       序     = a.colorder,
       字段名 = a.name,
       标识   = CASE COLUMNPROPERTY(a.id,a.name,'IsIdentity') WHEN 1 THEN '√' ELSE '' END,
       主键   = CASE
  WHEN EXISTS ( SELECT *
                  FROM sysobjects
                 WHERE xtype='PK'
                   AND 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))))
  THEN '√' ELSE '' END,
     类型 = b.name,
     字节数 = a.length,
     长度   = COLUMNPROPERTY(a.id,a.name,'Precision'),
     小数   = CASE ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0) WHEN 0 THEN '' ELSE CAST(COLUMNPROPERTY(a.id,a.name,'Scale') AS VARCHAR) END,
     允许空 = CASE a.isnullable WHEN 1 THEN '√' ELSE '' END,
     默认值 = ISNULL(d.[text],''),
     说明   = ISNULL(e.[value],'')
 FROM syscolumns a
 LEFT JOIN systypes b ON a.xtype=b.xusertype
INNER JOIN sysobjects c ON a.id=c.id AND c.xtype='U' AND c.name<>'dtproperties'
LEFT  JOIN syscomments d ON a.cdefault=d.id
LEFT  JOIN sys.extended_properties e ON a.id=e.class AND a.colid=e.minor_id
ORDER BY c.name, a.colorder

标签:CASE,END,name,Sql,WHEN,Server,2005,id,SELECT
From: https://www.cnblogs.com/moonlight-qujing/p/18390738

相关文章

  • 9 张图总结 MySQL 架构
    原文:9张图总结一下MySQL架构前言目前大部分的后端开发人员对MySQL的理解可能停留在一个黑盒子阶段。对MySQL基本使用没什么问题,比如建库、建表、建索引,执行各种增删改查。所有很多后端开发人员眼中的MySQL如下图所示:导致在实际工作中碰到MySQL中死锁异常、SQL性能太差......
  • 【SQL注入】代码安全审计经验分享
    一、MyBatis框架中的注入漏洞Mybatis框架支持的CURD功能可以直接搜索XML文件中的${和${}拼接的SQL语句,如果SQL的参数可控,就可能造成注入风险。另外,有的SQL语句使用的是注解开发,把SQL语句可以直接写在了代理接口方法上方,审计的时候可以将两种情况都注意一下,或许有不同的发现。......
  • MySQL教程:从基础到实战
    引言MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种Web应用程序和服务器中。本教程将详细介绍MySQL的基础知识,并通过实战作业帮助你巩固所学内容。MySQL的作用?/为什么要学MySQL作为一款流行的开源关系型数据库管理系统(RDBMS),具有高效、可靠、易用和灵活的特......
  • 20240831-PostgreSQL小课持续更新
    PostgreSQL小课专栏介绍PostgreSQL小课目前已累积了近21万字。小课最新的大纲:目前已完成大概95%的进度:(venv312)➜mypostgresgit:(dev)shscripts/word_statistics_pg_style.shFilename|Chinese|English......
  • SQL注入
    SQL注入(SQLInjection)是一种网络攻击技术,攻击者通过在输入字段中注入恶意的SQL代码,使得应用程序执行非预期的SQL查询,进而绕过身份验证、读取、修改甚至删除数据库中的数据。SQL注入是由不安全的SQL查询引起的,通常是因为应用程序直接将用户输入拼接到SQL查询中,而没有对输入进行充分......
  • SQL Server高级进阶之索引碎片维护
    SQLServer高级进阶之索引碎片维护 一、产生原因及影响索引是数据库引擎中针对表(有时候也针对视图)建立的特别数据结构,用来帮助查找和整理数据,它的重要性体现在能够使数据库引擎快速返回查询结果。当对索引所在的基础数据表进行增删改时,若存储的数据进行了不适当的跨页(SQLServer......
  • 使用python基于fastapi发布接口(二)-连接mysql数据库查询数据
    上一章在这里操作MySQL数据库使用mysql-connector-python库安装mysql-connector-pythonpipinstallmysql-connector-python代码编写在原来代码基础上添加数据库连接配置fromtypingimportUnionfromfastapiimportFastAPIapp=FastAPI(......
  • Centos 7 制作MySQL 5.7 RPM包
    系统:Centos7.2 1、安装依赖包yuminstallmakegccrpm-buildrpmdevtools-yyuminstallmakecmakegccgcc-c++bisonlibaioncurses-develperlperl-DBIperl-DBD-MySQLperl-Time-HiResreadline-develnumactlzlib-develcurldevel 2、rpm工具相关路径mkdir......
  • MySQL字符集详解
    一、内容概述在MySQL的使用过程中,了解字符集、字符序的概念,以及不同设置对数据存储、比较的影响非常重要。不少同学在日常工作中遇到的“乱码”问题,很有可能就是因为对字符集与字符序的理解不到位、设置错误造成的。本文由浅入深,分别介绍了如下内容:字符集、字符序的基本概念......
  • django 内置server 外网不能访问, 报连接超时
    django内置server外网不能访问,报连接超时pythonmanage.pyrunserver不能外网访问 ===============================1确保开启了服务pythonmanage.py runserver0.0.0.0:80 ===============================2 确保开启了防火墙(1)查看防火墙端口#查看开放的......