Oracle入门之表管理

简介:

表是数据库中最基本的储存数据逻辑单元,它由行和列组成,oracle将表分为堆组织表(heap table),索引组织表(index organized table,IOT)和临时表(temporary table) 本节讲简要介绍下oracle的表管理(heap table),主要包括添加,删除列,更改列名,表名;创建相同的表,将表置为只读和读写模式,删除表和回闪表等操作

1:添加列
yang SQL>select * from test order by 1;

        ID BANNER
---------- --------------------------------
         1 one
         2 two
         3 three
         4 four


yang SQL>alter table test add (address varchar(10));

Table altered.

yang SQL>desc test;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(38)
 BANNER                                             VARCHAR2(32)
 ADDRESS                                            VARCHAR2(10)

2:删除列
yang SQL>alter table test drop(address);

Table altered.

yang SQL>desc test;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(38)
 BANNER                                             VARCHAR2(32)

yang SQL>alter table test rename column id to num;

Table altered.

3:改列名
yang SQL>desc test;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 NUM                                                NUMBER(38)
 BANNER                                             VARCHAR2(32)

yang SQL>alter table test rename to t1;

Table altered.

4:更改表名
yang SQL>desc t1;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 NUM                                                NUMBER(38)
 BANNER                                             VARCHAR2(32)


5:创建相同的表,在创建大表的时候,可以增加并发和关闭日志来提高效率
yang SQL>create table emp as select * from t1; //crate table  emp nologing parallel(degree 4)  as select * from t1;

Table created.

yang SQL>select * from emp order by 1;

       NUM BANNER
---------- --------------------------------
         1 one
         2 two7
         3 three
         4 four


6:将表置为只读和读写模式
yang SQL>insert into emp values(5,'five');

1 row created.

yang SQL>commit;

Commit complete.

yang SQL>alter table emp read only;

Table altered.

yang SQL>insert into emp values(6,'six');
insert into emp values(6,'six')
            *
ERROR at line 1:
ORA-12081: update operation not allowed on table "YANG"."EMP"


yang SQL>select count(*) from emp;

  COUNT(*)
----------
         5

yang SQL>alter table emp read write;

Table altered.


7:标记和删除未用的列
yang SQL>alter table emp set unused (banner);

Table altered.

yang SQL>desc emp;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 NUM                                                NUMBER(38)

yang SQL>alter table emp drop unused columns;

Table altered.

8:删除表与回闪表

yang SQL>drop table emp;

Table dropped.

yang SQL>desc emp;
ERROR:
ORA-04043: object emp does not exist


yang SQL>flashback table emp to before drop;

Flashback complete.

yang SQL>desc emp;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 NUM                                                NUMBER(38)

9:使用purge参数永久删除表,若不使用purge参数,删除的表将会保存在回收站中

yang SQL>drop table emp purge; //若要同时删除表相关的约束条件,可以使用“cascade constraints”参数

Table dropped.

yang SQL>flashback table emp to before drop;
flashback table emp to before drop
*
ERROR at line 1:
ORA-38305: object not in RECYCLE BIN

10:启用表压缩:
yang SQL>create table emp_address (id int,name char(10),alias char(10),address varchar2(16)) compress for all operations;

Table created.

yang SQL>desc emp_address;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER(38)
 NAME                                               CHAR(10)
 ALIAS                                              CHAR(10)
 ADDRESS                                            VARCHAR2(16)

yang SQL>select table_name,compression,compress_for from  dba_tables where table_name='EMP_ADDRESS';

TABLE_NAME                     COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
EMP_ADDRESS                    ENABLED  OLTP

本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/461044如需转载请自行联系原作者


ylw6006

相关文章
|
6月前
|
Oracle 安全 关系型数据库
【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理
【Oracle】玩转Oracle数据库(六):模式对象管理与安全管理
81 10
|
6月前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(三):数据库的创建和管理
【Oracle】玩转Oracle数据库(三):数据库的创建和管理
157 5
|
6月前
|
存储 Oracle 关系型数据库
Oracle入门基础篇
Oracle是一种关系型数据库管理系统(RDBMS),是由Oracle公司开发和维护的。它是一种常用的企业级数据库解决方案,广泛应用于各个行业和领域。Oracle数据库具有强大的数据管理功能,支持高并发性、容错性和扩展性,并提供了丰富的功能和工具来处理数据存储、查询、分析和管理。Oracle 数据库是数据的物理存储,包括(数据文件 ORA 或者 DBF、控制文件、联机日志、参数文件)。
41 2
|
6月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之oracle cdc 抽取新增一张表 可以从savepoint恢复吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之oracle无主键的表支持同步吗如何实现
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
45 3
|
6月前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用合集之同步Oracle数据时,一张表产生了大量的连接数,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
存储 Oracle 关系型数据库
实验三 Oracle数据库的创建和管理
实验三 Oracle数据库的创建和管理
70 1
|
6月前
|
Oracle 关系型数据库
Oracle 管理诊断数据工具ADRCI
Oracle 管理诊断数据工具ADRCI
70 2
|
6月前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)