普通表

 1. 建立普通表

           CREATE TABLE test(

 

  type ...

          ) PCTFREE 20 PCTUSED 50 TABLESPACE USER01

              STORAGE(MINEXTENTS 3)

     PCTFREE: 用于指定数据块内UPDATE操作预留的空间的百分比。

     PCTUSED: 用于指定数据块上可以重新插入的以用空间最低百分比。

     TABLESPACE:用于指定表段所在的表空间。

     STORAGE: 用于izhiding表段的存储参数。

2. 建立临时表。

    建立临时表后,其结构会一直存在,但其数据只在当前事务或当前会话内有效。在临时表上执行DML操作时,既不会枷锁,也不会将数据变化写到重做日志中。

     @事务临时表

         事务临时表是指只在当前事务内有效的临时表。如果建立临时表时没有指定ON COMMIT选项,则默认为事务临时表。通过指定ON COMMIT DELETE ROWS选项,也可以指定事务临时表。示例如下:

           CREATE GLOBAL TEMPORARY TABLE  temp(...)

                     ON COMMIT DELETE ROWS;

    @建立会话临时表

          会话临时表是数据只在当前会话内有效的临时表。建立临时表时,通过使用ON COMMIT PRESERVE ROWS选项,可以指定会话临时表。示例如下:

         CREATE GLOBAL TEMPORARY TABLE  temp(...)

                     ON COMMIT PRESERVE ROWS;

3.修改表

      @   修改表的物理属性

      ALTER TABLE test PCTFREE 40 PCTUSED 50 INITRANS 3;

      @   重新组织表

                           ALTER TABLE test MOVE TABLESPACE user02;

      @   修改列属性

                             ALTER TABLE test MODIFY loc VARCHAR2(15);

      @   增加列

                         ALTER TABLE test ADD remark VARCHAR2(200);

      @   修改列名

                         ALTER TABLE test RENAME COLUMN loc TO location;

      @    删除列

                         ALTER TABLE test DROP (phone ,manager);

      @    标记

                         ALTER TABLE test set UNUSED COLUMN comm;

                          ALTER TABLE emp UNUSED COLUMNS CHECKPOINT 1000;

索引表

          一般情况下,表以及索引数据分别存放在表段和索引段中。如果要经常基于主键列检索表数据,那么oracle建议使用索引表。建立索引表时,oracle会将表以及主键索引的数据一起存放到索引段中。当在WHERE 字句中引用主键时,oracle可以直接根据主键索引值取得表行数据。

  1.建立索引表

         建立索引表是使用CREATE TABLE 语句完成的。但是在建立索引表时,必须指定ORGANIZATION INDEX 关键字,并且必须定义主键约束。示例如下:

            CREATE TABLE test(

...

)

               ORGANIZATION INDEX TABLESPACE user01

               PCTTHRESHHOLD 20 INCLUDING ..

               OVERFLOW TABLESPACE user02;

外部表

     外部表是表结构被存放在数据字典,而表数据被存放在OS文件中的表。通过使用外部表,不仅可以在数据库中查询OS文件的数据,还可以使用INSERT方式将OS文件数据装载到数据库中。建立外部表后,可以查询外部表的数据,在外部表上执行连接查询,或对外部表的数据进行排序。但是在外部表上不能执行DML修改,也不能在外部表上建立索引。。

     1. 建立外部表

         建立外部表是用CREATE TABLE 命令完成的,但建立外部表时必须指定ORGANIZATION EXTERNAL选项

         @ 建立目录对象,并授予用户权限

               CREATE DIRECTORY ext AS 'D:/ext';

               GRANT READ,WRITE ON DIRECTORY ext TO scott;

         @ 建立外部表

               CREATE TABLE ext_test(

........

)

                 ORGANIZATION EXTERNAL(

 TYPE ORACLE_LOADER DEFAULT DIRECTORY ext

                 ACCESS PARAMETERS(

records delimited by newline fields terminated by ','

           missing field values are null(

.......

)

)LOCATION ('emp.dat')

);

 

你可能感兴趣的:(表)