现在的位置: 首页 > 综合 > 正文

Oracle数据库表管理

2013年12月01日 ⁄ 综合 ⁄ 共 1369字 ⁄ 字号 评论关闭

1、创建表:

CREATE [GLOBAL TEMPRARY] TABLE table_name (

      column_name type [CONSTRAINT constraint_def DEFAULT default_exp]

      [,column_name type [CONSTRAINT constraint_def DEFAULT default_exp] ...]

)

[ON COMMIT {DELETE | PRESERVE} ROWS]

TABLESPACE tab_space;            

  • GLOBAL TEMPRARY:临时表。有效期有ON COMMIT指定。
  • table_name:表名
  • columne_name:列名
  • type:列类型
  • constraint_def:列约束
  • default_exp:列默认值
  • ON COMMIT:指定临时表的有效期。DELETE:临时表数据在事务的末尾被删掉。PRESERVE:临时表数据在会话末尾被删掉。
  • tab_space:所属表空间,如果没有,则为默认表空间。

具体示例:

CREATE TABLE order_status2 (

      id INTEGER CONSTRAINT order_status2_pk PRIMARY KEY,

      status VARCHAR2(10),

      last_modified DATE DEFAULT SYSDATE

);

2、修改表:

  1. 添加列:ALTER TABLE order_status2 ADD modified_by INTEGER;
  2. 修改列:ALTER TABLE order_status2 MODIFY status VARCHAR(20);
  3. 删除列:ALTER TABLE order_status2 DROP COLUMN status;
  4. 添加约束:ALTER TABLE order_status2 ADD CONSTRAINT check_name check_def;(ALTER TABLE order_status2 ADD CONSTRAINT ck_order_status CHECK (status in ('status1','status2')))【添加主键:ALTER TABLE order_status2 ADD CONSTRAINT pk_order_status2 PRIMARY KEY (id)】【添加外键:ALTER TABLE order_status2 ADD CONSTRAINT fk_order_status2_another_tbl FOREIGN KEY (status) REFERENCES another_tbl(column_name)】
  5. 删除约束:ALTER TABLE order_status2 DROP CONSTRAINT pk_order_status2;
  6. 启用约束:ALTER TABLE order_status2 ENABLE CONSTRAINT pk_order_status2;
  7. 禁用约束:ALTER TABLE order_status2 DISABLE CONSTRAINT pk_order_status2;

3、相关系统视图:

     可以通过相关的系统视图来查看表和约束的定义。

  1. user_tables:用户表的相关信息
  2. user_tab_columns:用户表的列信息
  3. user_constraints:用户表约束相关信息

抱歉!评论已关闭.