Oracle中查询表结构的六种方法

首发微信公众号:SQL数据库运维

原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a5b3&token=1491694448&lang=zh_CN#rd


方法一:

在【命令窗口】下输入,语法:desc 表名

DESC DUAL;
--或
DESCRIBE TB_STUDENT;

注:可以使用PLSQL Developer工具内的命令窗口或者在cmd内sqlplus里输入命令均可。

 


方法二:

在【SQL窗口】内输入查询表结构语句

--语法
SELECT DBMS_METADATA.GET_DDL('TABLE','table_name大写表名称') FROM DUAL;
--举例
SELECT DBMS_METADATA.GET_DDL('TABLE','TB_STUDENT') FROM DUAL;

注意:第一点,必须保证目标表属于当前登录用户,否则查不到结果;第二点,DBMS_METADATA.GET_DDL、TABLE、表名称都需要大写,否则会报错。


 方法三:

同样是在【SQL窗口】内输入脚本进行查询

--语法
select * from user_tab_columns where table_name='大写表名称';
--举例
select * from user_tab_columns where table_name='TB_STUDENT';

 注意:必须保证目标表属于当前登录用户,且表名称大写,否则查不到结果。


方法四:

同样是在【SQL窗口】内输入脚本进行查询(TB_STUDENT)为表名称,需要查询时替换即可。

select t.COLUMN_NAME,
       decode(s.DATA_TYPE,
              'DATE',
              'DATE',
              s.DATA_TYPE || '(' || s.DATA_LENGTH || ')'),
       t.COMMENTS
  from all_col_comments t, all_tab_columns s
 where t.Table_Name = 'TB_STUDENT'
   and s.Table_Name = 'TB_STUDENT'
   and t.COLUMN_NAME = s.COLUMN_NAME
 order by t.column_name;


 方法五:

使用PLSQL Developer工具,在【SQL窗口】下使用sql写一条查询语句并执行


方法六:

使用PLSQL Developer工具,图形界面查看