📜  oracle 获取表模式 - SQL (1)

📅  最后修改于: 2023-12-03 15:03:24.789000             🧑  作者: Mango

Oracle 获取表模式 - SQL

在Oracle数据库中,要获取表的结构或模式信息,可以使用以下SQL语句:

DESCRIBE table_name;

或者

SELECT * FROM user_tab_columns WHERE table_name = 'table_name';

其中,table_name是要查询的表的名称。

DESCRIBE语句会返回表的每一列的名称、数据类型、长度和空值约束等信息。示例输出如下:

Name                Null?    Type                        
------------------- -------- ----------------------------
ID                  NOT NULL NUMBER(10)                  
NAME                          VARCHAR2(50)                
DESCRIPTION                   VARCHAR2(200)               
CREATE_TIME                   DATE                        
MODIFY_TIME                   DATE                        

SELECT语句会返回表的每一列的名称、数据类型、长度、默认值、空值约束、列备注等信息。示例输出如下:

COLUMN_NAME                    DATA_TYPE     DATA_LENGTH  NULLABLE  COLUMN_ID  DEFAULT_VALUE            COMMENTS
------------------------------ ------------- ----------- --------- ---------- ------------------------ --------
ID                             NUMBER        22          NO                 1                            
NAME                           VARCHAR2      50          YES                2                            
DESCRIPTION                    VARCHAR2      200         YES                3                            
CREATE_TIME                    DATE          7           YES                4                            
MODIFY_TIME                    DATE          7           YES                5                            

除了上述SQL语句外,还有其他的SQL语句可以查询表的模式信息,例如:

  • SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'table_name';:查询当前用户(包括共享对象)的所有表的列信息。
  • SELECT * FROM DBA_TAB_COLUMNS WHERE OWNER = 'owner_name' AND TABLE_NAME = 'table_name';:查询指定用户的所有表的列信息(需要DBA权限)。

总之,根据不同的需求,可以选择不同的SQL语句来查询表的模式信息。