列出给定表的基本信息

需求描述

需求:查询出给定的表dept,emp,bonus,salgrade里的表名,字段名、字段类型、字段注释、表注释信息。

解决方法:通过各个数据库里提供的与数据库相关的数据字典进行查询。

注: 数据库数据集SQL脚本详见如下链接地址

员工表结构和数据初始化SQL脚本

SQL代码

-- Oracle:
SELECT B.TABLE_NAME,B.COLUMN_NAME,B.DATA_TYPE,A.COMMENTS AS Table_Comm ,C.COMMENTS AS Column_Comm
from user_tab_comments A
JOIN user_tab_columns BON A.TABLE_NAME = B.TABLE_NAME
JOIN user_col_comments C
ON B.TABLE_NAME = C.TABLE_NAME AND B.COLUMN_NAME = C.COLUMN_NAME
WHERE A.TABLE_NAME IN('DEPT','EMP','BONUS','SALGRADE')-- Mysql:
SELECT A.TABLE_NAME,A.COLUMN_NAME,A.DATA_TYPE,B.TABLE_COMMENT AS Table_Comm,A.COLUMN_COMMENT AS Column_Comm
FROM INFORMATION_SCHEMA.COLUMNS A
JOIN INFORMATION_SCHEMA.TABLES BON A.TABLE_NAME = B.TABLE_NAME
WHERE A.TABLE_SCHEMA='SHENL'
AND A.TABLE_NAME IN('DEPT','EMP','BONUS','SALGRADE')-- Sql Server:USE Shenl;
GO
SELECTA.name AS table_name,B.name AS column_name,C.name AS data_type,D.value AS column_comm
FROM sys.tables A
INNER JOIN
(
SELECT B.object_id,NULL AS name ,NULL AS user_type_id,0 as column_id FROM sys.tables A
INNER JOIN sys.columns B ON B.object_id = A.object_id WHERE A.name IN ('dept','emp','bonus','salgrade') AND column_id = 1UNION
SELECT object_id,name,user_type_id,column_id FROM sys.columns
)B ON B.object_id = A.object_id
LEFT JOIN sys.systypes C
ON B.user_type_id = C.xtype
INNER JOIN sys.extended_properties D ON D.major_id = B.object_id AND D.minor_id = B.column_id
WHERE A.name  IN ('dept','emp','bonus','salgrade')
ORDER BY A.name-- 或:
USE Shenl;
GO
SELECT table_name,column_name,data_type,column_comm,F.value as table_comm FROM
(
SELECT A.object_id AS Object_id, A.name AS table_name,B.name AS column_name,C.name AS data_type,D.value AS column_comm FROM sys.tables A
INNER JOIN sys.columns B ON B.object_id = A.object_id
LEFT JOIN sys.systypes C
ON B.user_type_id = C.xtype
INNER JOIN sys.extended_properties D ON D.major_id = B.object_id AND D.minor_id = B.column_id
WHERE A.name  IN ('dept','emp','bonus','salgrade')
)E
JOIN
(
SELECT major_id,value FROM sys.extended_properties A
JOIN sys.tables B
ON A.major_id = B.object_id
AND B.name IN  ('dept','emp','bonus','salgrade') AND A.minor_id = 0
)F
ON E.object_id = F.major_id

执行结果

数据库元数据数据字典查询_3_列出给定表的基本信息相关推荐

  1. 数据库元数据数据字典查询_9_列出给定表的所有约束

    列出给定表的所有约束 需求描述 需求:查询出给定的表emp的相关的约束信息. 解决方法:通过各个数据库里提供的与约束相关的数据字典进行查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构和 ...

  2. 数据库元数据数据字典查询_8_列出给定表的默认约束

    列出给定表的默认约束 需求描述 需求:查询出给定的表emp的默认约束(default)信息. 解决方法:通过各个数据库里提供的与默认约束(default)相关的数据字典进行查询. 注: 数据库数据集S ...

  3. 数据库元数据数据字典查询_7_列出给定表的检查约束

    列出给定表的检查约束 需求描述 需求:查询出给定的表emp的检查约束(check)信息. 解决方法:通过各个数据库里提供的与检查约束(check)相关的数据字典进行查询. 注: 数据库数据集SQL脚本 ...

  4. 数据库元数据数据字典查询_6_列出给定表的外键引用

    列出给定表的外键引用 需求描述 需求:查询出给定的表emp的外键约束信息. 解决方法:通过各个数据库里提供的与外键约束相关的数据字典进行查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构 ...

  5. 数据库元数据数据字典查询_5_列出给定表的主键、外键约束

    列出给定表的主键.外键约束 需求描述 需求:查询出给定的表emp的外键约束信息. 解决方法:通过各个数据库里提供的与外键约束相关的数据字典进行查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工 ...

  6. 数据库元数据数据字典查询_4_列出给定表的索引信息

    列出给定表的索引信息 需求描述 需求:查询出给定的表emp的索引信息. 解决方法:通过各个数据库里提供的与索引相关的数据字典进行查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构和数据初 ...

  7. 数据库元数据数据字典查询_1_列出模式中所有的表

    列出模式中所有的表 需求描述 需求:查询给定模式下创建的所有表和创建时间. 解决方法:通过各个数据库里提供的系统视图查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结构和数据初始化SQL脚 ...

  8. 数据库元数据数据字典查询_10_列出数据库里的所有对象

    列出数据库里的所有对象 需求描述 需求:查询出给定的数据库里的所有对象的信息. 解决方法:通过各个数据库里提供的数据对象相关的数据字典进行查询. 注: 数据库数据集SQL脚本详见如下链接地址 员工表结 ...

  9. 数据库元数据数据字典查询_11_列出数据库里含有自增的字段

                               列出数据库里含有自增的字段 需求描述 需求:查询数据库里所有自增类型的字段 解决方法:通过数据字典里的字段is_identity来实现该需求. 注 ...

最新文章

  1. 别怕,BCH无惧攻击
  2. sudo规则支持正则
  3. 差点吓尿,手贱不要乱点support native debug
  4. UML总结—时序图(Sequence Diagram)和协作图(Collaboration Diagram)
  5. Webpack搭建ES6开发环境步骤
  6. make_shared和shared_ptr的区别
  7. P7717-「EZEC-10」序列【Trie】
  8. 基于WF4的新平台-流程模式-(6)动态串行
  9. Spark MLlib之K-Means聚类算法
  10. 如何快速清除 Ubuntu 的系统缓存
  11. 一文速览 | 对话生成预训练模型
  12. C语言宏的高级应用-转
  13. PyTorch学习—5.torch实现逻辑回归
  14. 戴尔微型计算机7050配置,小巧彪悍 戴尔 OptiPlex 7050 微型机评测
  15. express+socket.io 共享session
  16. linux连接小米路由器ssh,【Linux】小米路由开启SSH访问权限
  17. 电脑进不了,电脑进不了系统,详细教您怎么解决电脑进不了系统
  18. Java常见面试题(181-200)
  19. 先进事迹如何写出深度?到底怎么做
  20. Web2.0视觉风格进化论

热门文章

  1. VTK:vtkCellPicker用法实战
  2. OpenCASCADE绘制测试线束:布尔运算命令之两个操作数的布尔运算
  3. boost::units模块实现用常量测试所有运算符的组合的测试程序
  4. boost::sort模块实现支持不同分布的随机数生成器的测试程序
  5. boost::scoped_ptr相关的测试程序
  6. boost::serialization模块测试extended_type_info的实现,使用多个共享库时有效
  7. boost::ptr_set相关的测试程序
  8. boost::lambda::ret用法的测试程序
  9. boost::hana::remove_if用法的测试程序
  10. boost::core模块实现分配器指针