Oracle表的管理

来源:互联网 发布:淘宝网后台管理 编辑:程序博客网 时间:2024/04/29 00:42

1.     创建表

方法一:手动创建

--基本语法

CREATE TABLE [SCHEMA.] 表名

(

       列名 类型 [默认值] [约束]

       [...]

       [主外键约束]

)

[TABLESPACE testTS]                          --指定表所在的表空间

[LOGGING|NOLOGGING]                    --指定是否创建日志

[STORAGE                                        --指定表的存储策略

(

       [INITIAL            第一个盘区大小]

       [NEXT              后一个盘区大小]

       [PCTINCREASE   盘区增长比率]

       [MINEXTENTS  盘区数量下限]

       [MAXEXTENTS         盘区数量上限]

)]

[CACHE|NOCACHE]                                   --是否缓存表中的数据,默认为不缓存

--例如

CREATE TABLE EMP(       EMPNO  VARCHAR2(7),       NAME     VARCHAR2(20) DEFAULT ' ',       SAL       NUMBER(2,7)  DEFAULT 0.0         NOT NULL,       HIREDATEDATE         DEFAULT (to_date('18000101', 'yyyymmdd')),       PRIMARY KEY (EMPNO));

关于字段约束的说明:

       常见的约束类型:

1>   主外键约束       :选取该字段作为表的主键或者外键

2>   唯一性约束       :该字段在表中唯一

3>   用户自定义约束 :用户自定义该字段必须遵循的规则

方法二:从复制已经存在的表的表结构

CREATE TABLE EMP3ASSELECT * FROM EMP2 WHERE 1 = 2;

方法三:复制已有表的结构并导如其中的数据

CREATE TABLE EMP3ASSELECT * FROM EMP2;

2.      修改表

 

--在表中增加列ALTER TABLE EMPADD(      PHONE_NUMBER NUMBER(11))--修改列的类型或约束ALTER TABLE EMPMODIFY(      PHONE_NUMBER VARCHAR2(11) DEFAULT ' ')--删除列ALTER TABLE EMPDROP COLUMN PHONE_NUMBER;--重命名表ALTER TABLE EMPLOYEERENAME TO EMP;--修改表所在的表空间ALTER TABLE EMP MOVE TABLESPACE RENJIETB;--修改表的日志方式ALTER TABLE EMP NOLOGGING;--修改表的缓存方式ALTER TABLE EMP CACHE;--查看表结构(在sqlplus或者SqlDeveloper的命令模式下)DESC EMP;

3.      删除表

DROP TABLE EMP CASCADE CONSTRAINT;

注意事项:

1:待删除的表一定要存在

              2:删除的时候由于主外键的约束可能会出错,此时需要加上CASCADE CONSTRAINT

              3:表drop之后表结构都不存在了,但是可以重做

truncate

              删除表中的所有行,但表结构及其列、约束、索引等保持不变。对于有外键约束引用的表,不能使用 TRUNCATE,而应使用不带WHERE子句的DELETE语句。