直接使用的是sql语句,然后将结果通过数据库客户端直接导出成excel表,这种适合需要导出的表数量较少的情况。
如果需要导出的表数量较多的话,建议使用powerdesign。
下面给出sql语句查询并导出excel的方式。
oracle表结构涉及到几个关键的系统表:
● cols –系统表
● user_col_comments –表名、列名、说明
● user_tab_comments –表名、类型、说明
● user_objects – 字典表视图
真正导出的SQL语句整理如下:
(把下面‘你要查询的表名’换成自己要查的表名 然后直接运行该sql语句即可)
SELECT t1.Table_Name || chr(13) || ments AS "表名称及说明",--ments AS "表说明",t1.Column_Name AS "字段名称",t1.DATA_TYPE || '(' || t1.DATA_LENGTH || ')' AS "数据类型",t1.NullAbleAS "是否为空",mentsAS "字段说明",t1.Data_Default "默认值"-- t4.created AS "建表时间"FROM cols t1LEFT JOIN user_col_comments t2 ON t1.Table_name = t2.Table_nameAND t1.Column_Name = t2.Column_NameLEFT JOIN user_tab_comments t3 ON t1.Table_name = t3.Table_nameLEFT JOIN user_objects t4 ON t1.table_name = t4.OBJECT_NAMEWHERE NOT EXISTS (SELECT t4.Object_NameFROM User_objects t4WHERE t4.Object_Type = 'TABLE'AND t4.Temporary = 'Y'AND t4.Object_Name = t1.Table_Name)and t1.TABLE_NAME='你要查询的表名' --这里注意哦换成自己要查的那个表的表名,如果去掉这句话会查出该数据库所有的表结构ORDER BY t1.Table_Name, t1.Column_ID;--以上所查的列如果不符合自己的要求 可以通过自己更改sql语句来获得想要查询的列,想要的属性上面几张系统表里都有,自己写也很简单
● 示例结果如下所示
最后直接将结果导出成excel文件即可(笔者使用的是PL/SQL 一般数据库客户端工具都会自带此功能)。
觉得不错的话,可以点个赞嘛,大家共同进步哦!
Oracle导出表结构(含表名 字段名 数据类型 是否为空 字段说明)至Excel(简单详细)sql语句的形式