1,DESCRIBE 命令

使用方法如下:

SQL> describe nchar_tst(nchar_tst为表名)

显示的结果如下:

 名称                                      是否为空? 类型

 ----------------------------------------- -------- ----------------------------

 NAME                                               NCHAR(6)

 ADDR                                               NVARCHAR2(16)

 SAL                                                NUMBER(9,2)

2,DBMS_METADATA.GET_DDL包

使用方法如下:

  1. SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','NCHAR_TST') FROM DUAL;

如果显示的结果并未完整,如下:

  CREATE TABLE "SCOTT"."NCHAR_TST"

   (    "NAME" NCHAR(6),

        "ADDR" NVARCHAR2(16

那么修改如下:

  1. SQL> SET LONG 9999
  2. SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','NCHAR_TST') FROM DUAL;

则显示如下的结果:

DBMS_METADATA.GET_DDL('TABLE','NCHAR_TST')

------------------------------------------------------------------------------

  CREATE TABLE "SCOTT"."NCHAR_TST"

   (    "NAME" NCHAR(6),

        "ADDR" NVARCHAR2(16),

        "SAL" NUMBER(9,2)

   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING

  STORAGE(INITIAL 12288 NEXT 12288 MINEXTENTS 1 MAXEXTENTS 249 PCTINCREASE 50

  FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SYSTEM"

3,方法:

  通过Oracle中的user_tab_cols, user_col_comments, user_constraints, user_cons_columns表联合查询。

  user_tab_cols用来获取对应用户表的列信息;

  user_col_comments用来获取对应用户表列的注释信息;

  user_constraints用来获取用户表的约束条件;

  user_cons_columns约束中用户可访问列。





示例代码:

    1. select t.table_name,t.column_name,t.data_type,t.data_length,t.nullable,t.column_id,c.comments,
    2. (SELECT CASE WHEN t.column_name=m.column_name THEN 1 ELSE 0 END FROM DUAL) iskey
    3. FROM user_tab_cols t, user_col_comments c, (select m.column_name from user_constraints s, user_cons_columns m
    4. where lower(m.table_name)='us_cities' and m.table_name=s.table_name
    5. and m.constraint_name=s.constraint_name and s.constraint_type='P') m
    6. WHERE lower(t.table_name)='us_cities'
    7. and c.table_name=t.table_name
    8. and c.column_name=t.column_name
    9. and t.hidden_column='NO'
    10. order by t.column_id

Oracle查看表结构的几种方法的更多相关文章

  1. Oracle查看表结构的几种方法(转后加工)

    1. DESCRIBE 命令使用方法如下:SQL> describe WX_ADVANCEUP (WX_ADVANCEUP为表名)显示的结果如下: 名称                     ...

  2. Oracle查看表结构的方法【我】

    Oracle查看表结构的方法   方法一: 在命令窗口下输入   DESC table_name;  回车       方法二: 在sql窗口下   SELECT DBMS_METADATA.GET_ ...

  3. ORACLE 查看表结构

    select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select tabl ...

  4. Oracle查看表结构

    目的:通过SQL进行查看表结构,因为使用PL/SQL连接工具,连接到公司的数据库上经常断开.故改为使用Navicat连接数据库,个人觉得这个查看表结构很困难. 查看表结构和约束精简 -- 查询指定表的 ...

  5. Oracle 数据库中查看表空间的2种方法

    在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...

  6. mysql 从 frm 文件恢复 table 表结构的3种方法

    mysql 正常运行的时候,查看 table 的结构并不是困难的事. 但是有时 mysql 发生故障,这种方法便不再可行. 当遇到故障,通常使用新的 mysql 实例来恢复当前的数据. 建表是非常重要 ...

  7. oracle增加表空间的四种方法

    1. 查看所有表空间大小 select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_nam ...

  8. oracle增加表空间的四种方法,查询表空间使用情况

    增加表空间大小的四种方法Meathod1:给表空间增加数据文件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADA ...

  9. mysql 复制表数据,表结构的3种方法

    什么时候我们会用到复制表?例如:我现在对一张表进行操作,但是怕误删数据,所以在同一个数据库中建一个表结构一样,表数据也一样的表,以作备份.如果用mysqldump比较麻烦,备份.MYD,.MYI这样的 ...

随机推荐

  1. HTML,javaScript,DOM详解

    HTML DOM 教程 DOM 教程 DOM 简介 HTML DOM 定义了访问和操作 HTML 文档的标准方法. DOM 将 HTML 文档表达为树结构. HTML DOM 树 HTML DOM 简 ...

  2. Unity安卓上播放视频的问题,暂时无解记录一下

    设备联想A7600m,好像是联发科的cpu 先用网上流传很广的这个Unity自带接口试验一下: Handheld.PlayFullScreenMovie(Path.Combine(Applicatio ...

  3. WF3.0 CallExternalMethod使用技巧

    CallExternalMethod用于工作流向宿主进程中通信 简单的介绍一下它的使用技巧,参照网上的一个questioner源码进行了改进,因为我感觉这个源码提供的通信demo过于繁琐. 看看ser ...

  4. PHP比较运算!=和!==

    PHP!=和!==的区别 !==是指绝对不等于,比如,$a = 3, $b="3" 那么,$a!==$b成立,可是$a!=$b不成立:

  5. Nhibernate中CreateSQLQuery用法实例

    说明: 使用原生SQL查询时,若要通过addEntity方法引入对象,则查询结果列中必须包含该对象的所有属性,否则会抛出System.IndexOutOfRangeException异常. 结论: 若 ...

  6. [cdoj1380] Xiper的奇妙历险(3) (八数码问题 bfs + 预处理)

    快要NOIP 2016 了,现在已经停课集训了.计划用10天来复习以前学习过的所有内容.首先就是搜索. 八数码是一道很经典的搜索题,普通的bfs就可求出.为了优化效率,我曾经用过康托展开来优化空间,甚 ...

  7. Python3基础 random 产生置顶区间的随机整数

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  8. activiti学习总结

    Activiti界面元素的使用总结 一.图形设计中元素的使用 1.SequenceFlow:连接线,可以连接两个任务,来管理流程实例的流向 -----General -----id:流程的id,用与程 ...

  9. JS cookie的使用

    js设置cookie有很多种方法. 第一种:(这个是w3c官网的代码) <script> //设置cookie function setCookie(cname, cvalue, exda ...

  10. linux mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...