首页 > 数据库 >sql里将所有表结构生成数据字典的sql脚本

sql里将所有表结构生成数据字典的sql脚本

时间:2022-08-27 14:45:29浏览次数:54  
标签:脚本 CASE END name WHEN ELSE sql 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,
字段说明=isnull(g.[value],''),
标识=CASE WHEN COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 THEN '√'ELSE '' END,
主键=CASE
WHEN EXISTS(SELECT 1 FROM sysobjects WHERE xtype='PK' 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,'')
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='orders' --如果只查询指定表,加上此条件
WHERE 1=1
--AND d.name = 'om_sa'
--AND CAST(f.value AS VARCHAR(1000)) LIKE '%账期%'
ORDER BY a.id,a.colorder

标签:脚本,CASE,END,name,WHEN,ELSE,sql,id,字典
From: https://www.cnblogs.com/WinterSweetFirst/p/16630532.html

相关文章

  • SQL:排名前几名中的前几名
    1.选择订单量排名前2的商品,并且选出每个商品订单量排名前3的销售方式,模拟数据如下:name作为商品,count作为对应渠道的订单量,way为渠道  通过excel法线,前两名存在3个:......
  • 数据库学习笔记 (本数据库学习笔记以SQL sever 2019 为例进行学习) 20220823 第一节课
    教材及参考数据库课程讲什么?内容安排第一部分数据库原理部分第一章数据库系统概述为什么要学习数据库?数据库的发展改变了人们的工作和生活模式信息积累与运用......
  • mysql-开启日志记录功能
    开启日志记录功能--开启功能SETGLOBALgeneral_log=ON;--保存到文件SETGLOBALlog_output='file';查看日志内容--查看日志保存位置及开启状态showvariab......
  • 2022-8-27 每日一题-层序遍历+标记+剑指offer-字典树+dfs
    662.二叉树最大宽度难度中等409收藏分享切换为英文接收动态反馈给你一棵二叉树的根节点 root ,返回树的 最大宽度 。树的 最大宽度 是所有层中最大的 宽度......
  • MySQL十六:36张图理解Buffer Pool
    转载~在应用系统中,我们为加速数据访问,会把高频的数据放在「缓存」(Redis、MongoDB)里,减轻数据库的压力。在操作系统中,为了减少磁盘IO,引入了「缓冲池」(bufferpool)机制......
  • MySQL十七:Change Buffer
    转载~在之前的文章《InnoDB的存储结构》介绍的InnoDB的存储结构的组成中,我们知道ChangeBuffer也是用InnoDB内存结构的组成部分。ChangeBuffer主要是为了在写入是减少......
  • Mysql----外连接,约束
    《外连接》这个外连接其实就是解决多张表笛卡尔集的问题:比如:    我有如上两张表,我想要显示出全部学生的成绩,没有成绩的同学默认成绩为NULL按照以前的方法,要将......
  • MySQL十八:写语句的执行过程
    转载~当我们需要修改一个记录时,数据库会先根据条件找到要修改的数据,然后执行修改写入操作,因此我们再分析写操作的执行过程时,其实是包含读语句的执行过程的。一、读语句的......
  • MySQL四:InnoDB的存储结构
    转载~「MySQL存储引擎最大的特点就是【插件化】,可以根据自己的需求使用不同的存储引擎,innodb存储引擎支持行级锁以及事务特性,也是多种场合使用较多的存储引擎。」当官方......
  • MySQL五:InnoDB线程模型
    转载~一、InnoDB线程模型的组成在Innodb存储引擎中,后台线程的主要作用是「负责刷新内存池中的数据,保证缓冲池中的内存缓存的是最近的数据」。此外它会将已经修改的数据文......