跳转至

一、ALL_TABLES

/* 查找当前用户的表 */
SELECT * FROM ALL_TABLES
字段名 数据类型 空值 描述
OWNER VARCHAR2(30) NOT NULL 用户名
TABLE_NAME VARCHAR2(30) NOT NULL 表名
TABLESPACE_NAME VARCHAR2(30) 表空间

二、USER_TABLES

/* 查找当前用户的表 */
SELECT * FROM USER_TABLES

三、USER_INDEXES

--查询用户表的索引(非聚集索引):
 SELECT * FROM USER_INDEXES WHERE UNIQUENESS = 'NONUNIQUE'
-- 查询用户表的主键(聚集索引): 
 SELECT * FROM USER_INDEXES WHERE UNIQUENESS = 'UNIQUE'
--查找表的所有索引(包括索引名,类型,构成列):

四、所有索引

SELECT
    T.*,
    I.INDEX_TYPE
FROM
    USER_IND_COLUMNS T,
    USER_INDEXES I
WHERE
    T.INDEX_NAME = I.INDEX_NAME
    AND T.TABLE_NAME = I.TABLE_NAME
    AND T.TABLE_NAME = 要查询的表

五、主键

SELECT
    CU.*
FROM
    USER_CONS_COLUMNS CU,
    USER_CONSTRAINTS AU
WHERE
    CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
    AND AU.CONSTRAINT_TYPE = 'P'
    AND AU.TABLE_NAME = 要查询的表

六、查找表的唯一性约束(包括名称,构成列)

SELECT
    *
FROM
    USER_CONS_COLUMNS CU,
    USER_CONSTRAINTS AU
WHERE
    CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME
    AND AU.CONSTRAINT_TYPE = 'U'
    AND AU.TABLE_NAME = 要查询的表

七、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询)

SELECT
    *
FROM
    USER_CONSTRAINTS C
WHERE
    C.CONSTRAINT_TYPE = 'R'
    AND C.TABLE_NAME = 要查询的表

八、查询外键约束的列名

SELECT
    *
FROM
    USER_CONS_COLUMNS CL
WHERE
    CL.CONSTRAINT_NAME = 外键名称

九、查询表的所有列及其属性

SELECT
    T.*,
    C.COMMENTS
FROM
    USER_TAB_COLUMNS T,
    USER_COL_COMMENTS C
WHERE
    T.TABLE_NAME = C.TABLE_NAME
    AND T.COLUMN_NAME = C.COLUMN_NAME
    AND T.TABLE_NAME = 要查询的表