导出表结构(数据字典)

-- 数据字典

 SELECT 
  (case when a.colorder=1 then d.name else '' end)表名, 
  a.colorder 字段序号, 
  a.name 字段名, 
  (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识, 
  (case when (SELECT count(*) 
  FROM sysobjects 
  WHERE (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))))))) AND 
  (xtype = 'PK'))>0 then '√' else '' end) 主键, 
  
  b.name 类型, 
  a.length 占用字节数, 
  COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度, 
  isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数, 
  (case when a.isnullable=1 then '√'else '' end) 允许空, 
  isnull(e.text,'') 默认值, 
  isnull(g.[value],'') AS 字段说明 

  FROM syscolumns a left join systypes b 
 on a.xtype=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.major_id 
 order by a.id,a.colorder 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏测试开发架构之路

MySQL实现全关联 full outer join

SQL LEFT JOIN 关键字 LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中...

32830
来自专栏IT开发技术与工作效率

MySQL 列出相关依赖

14160
来自专栏互联网开发者交流社区

SQL-ROW_NUMBER() OVER函数的基本用法(源码案例)

15430
来自专栏源码之家

mysql部分替换

17850
来自专栏测试开发架构之路

分分钟搞懂union与union all

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的...

36290
来自专栏技术碎碎念

T-SQL 查询、修改数据表

T-SQL修改表数据 INSERT语句 语法: INSERT [TOP(expression) [PERCENT]] [INTO] ...

48340
来自专栏Hadoop数据仓库

Oracle 中 table 函数的应用

        表函数可接受查询语句或游标作为输入参数,并可输出多行数据。该函数可以平行执行,并可持续输出数据流,被称作管道式输出。应用表函数可将数据转换分阶段...

27980
来自专栏编程心路

写给新手的Mysql入门指南(一)

关键字最好大写,这样便于阅读。可以用windows的cmd运行工具对数据库操作,前提是mysql的安装目录的子目录bin的路径添加导论系统变量PATH中,mys...

17230
来自专栏问天丶天问

Mysql 中英文排序

24340
来自专栏跟着阿笨一起玩NET

sqlserver 存储过程中拼接sql语句 动态执行

1.8K10

扫码关注云+社区

领取腾讯云代金券