Oracle中,能不能通过某条命令来查询当前数据中的所有的数据库或者表?就像使用MySQL中的show databases、 show tables 一样的。。Oracle 中有这样的功能吗?如果有,请问怎么使用?

解决方案 »

  1.   

    select table_name from all_tables;
    select table_name from user_tables;
      

  2.   

    SQL> desc dba_users;
     名称                                      是否为空? 类型
     ----------------------------------------- -------- -------------------
     USERNAME                                  NOT NULL VARCHAR2(30)
     USER_ID                                   NOT NULL NUMBER
     PASSWORD                                           VARCHAR2(30)
     ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
     LOCK_DATE                                          DATE
     EXPIRY_DATE                                        DATE
     DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
     TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
     CREATED                                   NOT NULL DATE
     PROFILE                                   NOT NULL VARCHAR2(30)
     INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
     EXTERNAL_NAME                                      VARCHAR2(4000)SQL> select username from dba_users;USERNAME
    ------------------------------
    MGMT_VIEW
    SYS
    SYSTEM
    DBSNMP
    SYSMAN
    SCOTT
    OUTLN
    MDSYS
    ORDSYS
    EXFSYSUSERNAME
    ------------------------------
    DMSYS
    WMSYS
    CTXSYS
    ANONYMOUS
    XDB
    ORDPLUGINS
    SI_INFORMTN_SCHEMA
    OLAPSYS
    TSMSYS
    BI
    PMUSERNAME
    ------------------------------
    MDDATA
    IX
    SH
    DIP
    OE
    HR
      

  3.   

    ---数据库所有用户
    Select * From dba_users;
    ---用户下所有表
    Select * From dba_tables t Where t.owner = '用户名称'在Oracle中一个用户相当于MySQL中的一个数据库
      

  4.   

    查登录用户的:select * from cat;
      

  5.   

    5楼在4楼上面,
    CSDN怎么一回事嘛?
      

  6.   

    这些可以了
    如果要查字段
    可以用all_tab_columns
    user_tab_columns