首页 > 数据库 >提取SQL Server 数据库数据字典

提取SQL Server 数据库数据字典

时间:2024-06-14 09:22:18浏览次数:16  
标签:CASE END NAME WHEN Server SQL ELSE ID 字典

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='tbname' --查询这个表
ORDER BY A.ID,A.COLORDER

标签:CASE,END,NAME,WHEN,Server,SQL,ELSE,ID,字典
From: https://www.cnblogs.com/jlt1982/p/18247137

相关文章

  • Oracle 是否扼杀了开源 MySQL
    Oracle是否无意中扼杀了开源MySQLPeterZaitsev是一位俄罗斯软件工程师和企业家,曾在MySQL公司担任性能工程师。大约15年前,当甲骨文收购Sun公司并随后收购MySQL时,有很多关于甲骨文何时“杀死MySQL”的讨论。他曾为甲骨文进行辩护,反驳了这些不友好的说法。然而,如今Zaitsev......
  • Docker安装MySQL主从
    Docker安装MySQL主从搭建主从dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]dockerrun-p3306:3306很多-d--namehahamysql:5.7Docker启动容器的数据部分一定挂载出来1、创建Masterdockerrun-p3307:3306--namemysql-master\-v/myd......
  • MySQL安全性管理
    用户权限管理创建和管理用户:使用CREATEUSER和GRANT语句创建和管理用户。例如:CREATEUSER'username'@'host'IDENTIFIEDBY'password';GRANTSELECT,INSERT,UPDATE,DELETEONdatabase.*TO'username'@'host';最小权限原则:只赋予用户执行其任务所需的最......
  • 【Go】用 Go 原生以及 Gorm 读取 SQLCipher 加密数据库
    本文档主要描述通过https://github.com/mutecomm/go-sqlcipher生成和读取SQLCipher加密数据库以及其中踩的一些坑用go去生成读取SQLCipher数据库用gorm去读取SQLCipher数据库在生成后分别用DBeaver、dbbrowser和sqlcipher读取SQLCipher数据库,基础操作见......
  • SQL注入&HTTP 头XFF&COOKIE&POST请求
    目录#知识点:#补充点:案例演示1数据请求方式涉及到的问题:phpJavaSpringPython案例演示2手工注入sqlmap注入方式一方式二案例演示3​编辑案例演示4#知识点:1、数据请求方式-GET&POST&COOKIE等2、常见功能点请求方式-用户登录&IP记录等3、黑盒白盒注入......
  • MySQL怎么为表添加描述
    1.MySQL为表添加描述的方法在MySQL中,表本身并没有直接的“描述”字段或属性来存储关于表的额外信息,如用途、创建者、备注等。但是,我们可以通过几种方式来实现这一需求:1.1使用COMMENT关键字为表或列添加注释虽然这不是一个完整的“描述”字段,但我们可以使用COMMENT关键字为表或......
  • 如何查询MySQL存储的树形结构,层次结构
    表定义如下 如果我们需要在表中查询这个树状结构,通过SQL语句,有两种查询方法:1.通过inner自连接查询,适用于简单的结构SELECT*FROMcourse_categoryASoneINNERJOINcourse_categoryAStwoONtwo.parentid=one.idWHEREone.parentid='1'ORDER......
  • 【java计算机毕设】图书管理系统javaweb java MySQL springboot vue html maven送文档
    1项目功能【java计算机专业学长毕业设计分享】智慧图书管理系统JavaSpringBootvueHTMLMySQL前后端分离2项目介绍系统功能:智慧图书管理系统包括管理员和用户两种角色。管理员的功能包括在个人中心修改个人信息和密码,管理员功能模块管理管理员。基础数据管理模......
  • MySQL的联合索引
    这里我先创建一张叫tb_user的表数据有创建一个联合索引  1.符合index(a,b,c)的查询条件 他的查询范围是ref使用了索引2.符合index(a,b)的查询条件  他的查询范围是ref使用了索引3.符合index(a)的查询条件   他的查询范围是ref使用了索引4.符合index(b,c......
  • 使用sql语句查询平均值,使用sql语句查询数据总条数, not in 筛选语句的使用
    1.查询平均值语法selectavg(要计算的值)as别名from表名select别名=avg(要计算的值)from表名2.获取数据总条数selectcount(*)as别名from表名select别名=count(*)from表名以下是举例:publicDictionary<string,string>keyValuePairs(){//as......