`
firecym
  • 浏览: 47155 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle基础知识--管理表

阅读更多

以scott用户下的emp、detp等几个表作为示例,在sqlplus下演示。

 

1. 查看表结构:

SQL> desc emp;

 

2. 在现有表基础上建立新表:

SQL> create table t1 as select * from emp;

表已创建。

   当然,此处select * from emp可以灵活更改。

   如果想更改列名,有两种办法:

  1).

SQL> create table t1 as select ename a, empno b, sal c from emp;

表已创建。

SQL> desc t1;
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- ------------
 A                                                              VARCHAR2(10)
 B                                                              NUMBER(4)
 C                                                              NUMBER(7,2)

  2).

SQL> create table t1(a, b, c) as select ename,empno,sal from emp;

表已创建。

SQL> desc t1;
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- -------------
 A                                                              VARCHAR2(10)
 B                                                              NUMBER(4)
 C                                                              NUMBER(7,2)

 

3. 修改表结构:

   1). 修改列长度,将上述t1表A列长度设为20:

SQL> desc t1;
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- -------------
 A                                                              VARCHAR2(10)
 B                                                              NUMBER(4)
 C                                                              NUMBER(7,2)

SQL> alter table t1 modify(a varchar2(20));

表已更改。

SQL> desc t1;
 名称                                                  是否为空? 类型
 ----------------------------------------------------- -------- -------------
 A                                                              VARCHAR2(20)
 B                                                              NUMBER(4)
 C                                                              NUMBER(7,2)

    如果要缩短列的长度,那么要保证该列的值没有超过要设置的列长。例如:

   

SQL> alter table t1 modify(a varchar2(10));

表已更改。

SQL> alter table t1 modify(a varchar2(2));
alter table t1 modify(a varchar2(2))
                      *
第 1 行出现错误:
ORA-01441: 无法减小列长度, 因为一些值过大

  

    同理,如果要修改列的类型,那么此列的值都应该为空。否则如下:

SQL> alter table t1 modify(a number(10,2));
alter table t1 modify(a number(10,2))
                      *
第 1 行出现错误:
ORA-01439: 要更改数据类型, 则要修改的列必须为空

  

   2). 修改表名:

SQL> rename t1 to t2;

表已重命名。

SQL> desc t1;
ERROR:
ORA-04043: 对象 t1 不存在


SQL> desc t2;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ------------
 A                                                  VARCHAR2(10)
 B                                                  NUMBER(4)
 C                                                  NUMBER(7,2)

  

   3.) 修改列名称:

SQL> desc t2;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- -------------
 A                                                  VARCHAR2(10)
 B                                                  NUMBER(4)
 C                                                  NUMBER(7,2)

SQL> alter table t2 rename column a to d;

表已更改。

SQL> desc t2;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- -------------
 D                                                  VARCHAR2(10)
 B                                                  NUMBER(4)
 C                                                  NUMBER(7,2)

 

   4). 表注释:

SQL> select comments from user_tab_comments where table_name='T2';

COMMENTS
-------------------------------------------------------------------


SQL> comment on table t2 is '测试表';

注释已创建。

SQL> select comments from user_tab_comments where table_name='T2';

COMMENTS
-------------------------------------------------------------------
测试表

  

   5).列注释

SQL> SELECT COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME='T2';

COMMENTS
------------------------------------------------------------------




SQL> COMMENT ON COLUMN T2.D IS '测试列注释';

注释已创建。

SQL> SELECT COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME='T2';

COMMENTS
------------------------------------------------------------------
测试列注释

 

4. 删除表

SQL> drop table t2;

表已删除。

   其实这里并没有将表真的删除,知识把它放到回收站里了。可以查看一下:

SQL> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
T2               BIN$l0t3+wZLRb+jDCDBmZ1dhA==$0 TABLE        2011-10-31:20:41:43

   可以看到,original name即原始名称是t2,回收站里的名称是那一长串字符。

   也可以查看一下用户现有的表:

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BIN$l0t3+wZLRb+jDCDBmZ1dhA==$0 TABLE
BONUS                          TABLE
D                              TABLE
DEPT                           TABLE
E                              TABLE
EMP                            TABLE
PLAN_TABLE                     TABLE
SALGRADE                       TABLE
T3                             TABLE
TEST                           TABLE

 

5. 将回收站的表清空

SQL> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
T2               BIN$l0t3+wZLRb+jDCDBmZ1dhA==$0 TABLE        2011-10-31:20:41:43
SQL> purge table t2;

表已清除。

SQL> show recyclebin;

  

6. 将回收站的表还原

SQL> create table t2 as select * from emp;

表已创建。

SQL> drop table t2;

表已删除。

SQL> flashback table t2 to before drop;

闪回完成。

 

7. 清空当前用户下的recyclebin

  

SQL> purge recyclebin;

回收站已清空。

 

8. 删除表的时候,彻底删除,不放入回收站:

SQL> drop table t2 purge;

表已删除。

SQL> show recyclebin;

 这样的话,回收站里就空了,如果想要恢复表的话只能取备份来恢复了...比较麻烦了~

分享到:
评论

相关推荐

    Oracle 基础知识 -大全- 原创整理.pdf

    以下将详细讲解Oracle基础知识,包括数据库管理、表的创建与维护、SQL查询技巧、权限管理以及PL/SQL编程等方面。 1. **Oracle数据库优势** Oracle数据库因其高性能、高可用性和安全性而受到青睐。它支持大规模并发...

    Oracle数据库基础知识--华为

    以下是对"Oracle数据库基础知识--华为"这一主题的详细解释。 一、Oracle数据库概述 Oracle数据库是由甲骨文公司开发的,它提供了一种高效、安全的方式来存储和管理大量数据。Oracle数据库系统基于SQL标准,支持...

    oracle基础--表、视图、过程、函数、游标、异常

    了解了这些基础知识,我们可以通过阅读提供的文档进一步深入学习。"SQL语言共分为四大类.doc"涵盖了SQL的DML(数据操纵语言)、DDL(数据定义语言)、DQL(数据查询语言)和DCL(数据控制语言)。"记录.doc"可能详细...

    循序渐进Oracle----数据库管理、优化与备份恢复.pdf

    《循序渐进Oracle——数据库管理、优化与备份恢复》这一资源聚焦于Oracle数据库的核心管理技术,涵盖了数据库的日常管理、性能优化以及备份与恢复的关键知识点。以下是对这些主题的详细解析,旨在帮助读者深入理解...

    Oracle课程设计-人事管理系统样例.rar

    Oracle课程设计是一个重要的学习环节,尤其对于理解和掌握数据库管理系统的实际应用至关重要。...这个样例不仅涵盖了数据库设计的基础知识,也包含了企业级数据库管理的高级特性,是学习Oracle数据库理想的学习资源。

    Oracle-Weblogic-11g-基础知识.pptx

    "Oracle Weblogic 11g 基础知识" 本资源摘要信息是关于 Oracle Weblogic 11g 的基础知识,涵盖了 Weblogic Server 11g 的整体架构预览、基础知识和概念、安装实例、问与答等方面的内容。 Oracle 中间件产品家族...

    oracle基础知识考试题_答案.zip

    这个"oracle基础知识考试题_答案.zip"压缩包文件包含了关于Oracle数据库的基础知识学习材料,特别是针对初学者或者准备Oracle相关资格考试的人员。 首先,Oracle数据库的核心概念包括SQL(结构化查询语言)的使用,...

    oracle 基础知识整理

    本文将深入探讨Oracle基础知识,包括其架构、安装、数据类型、SQL语句、表空间管理以及备份与恢复策略。 一、Oracle数据库架构 Oracle数据库采用客户/服务器(Client/Server)模式,由多个组件构成。主要包括数据库...

    Oracle数据库基础教程-参考答案

    【Oracle数据库基础】 Oracle数据库是一种广泛应用于企业的关系型数据库管理系统,由Oracle公司开发,以其高效、稳定和强大的功能著称。...理解和掌握这些基础知识对于使用和管理Oracle数据库至关重要。

    Oracle基础知识

    Oracle 基础知识是学习 Oracle 的基础,它包括了 SQL 概述、数据库概念、表结构、SQL 分类、数据结构、查询语句等内容。 内容 -------- ### SQL 概述 SQL(Structured Query Language)是一种标准化的数据库...

    oracle 基础知识总结初学者必备

    ### Oracle基础知识总结初学者必备 Oracle数据库作为一款广泛使用的数据库管理系统,在企业和开发领域扮演着重要的角色。对于初学者而言,掌握其基础知识是非常必要的。本文将根据提供的内容进行深入解析,并结合...

    ORACLE数据库教程-SQL基础知识篇.ppt

    总的来说,Oracle数据库教程的SQL基础知识篇将引导学习者理解如何有效地管理和操作Oracle数据库,包括如何创建和管理数据库对象,以及如何使用SQL语句进行数据操作。通过深入学习这些基本概念,开发者可以更好地掌握...

    oracle数据库管理--初级

    本课程“Oracle数据库管理--初级”旨在为初学者提供一个基础的Oracle DBA(数据库管理员)学习路径,帮助他们理解Oracle数据库的核心概念、安装配置以及基本管理操作。 Oracle数据库的基础知识包括以下几个关键点:...

    Oracle-12c数据库基础教程-Oracle-12c数据库管理、配置和维护PPT文档.pptx

    本教程将围绕Oracle 12c的基础知识,包括数据库的管理、配置和维护进行详细讲解。 首先,我们来看一下如何创建和删除数据库。创建数据库是Oracle 12c使用过程中的基本操作。你可以通过Database Configuration ...

    Oracle---文档总汇

    1. **Oracle8i_9i数据库基础.doc**:这个文档可能涵盖了Oracle 8i和9i的基础知识,包括安装、配置、基本的SQL语法、数据库管理等。Oracle 8i和9i是Oracle数据库的早期版本,对于理解Oracle的发展历程和核心概念有...

    Oracle expert one-on-one

    《Oracle专家一对一》不仅涵盖了这些基础概念,还深入探讨了复杂的Oracle特性和高级技术,如分布式数据库、物化视图、分区表、数据库集群等,为读者提供了全面的学习资源。无论是数据库管理员、开发人员还是性能优化...

    oracle-基础知识

    【Oracle基础知识】 Oracle,作为全球最广泛使用的数据库管理系统之一,是企业级数据管理的重要工具。本笔记将深入探讨Oracle的基础知识,包括Oracle的简介、安装过程、常用的开发工具以及数据库的用户管理和权限...

    Oracle 9i ----基础课程

    1. **数据库基础知识**:了解数据库的基本概念,包括什么是关系型数据库,以及Oracle 9i在其中的位置。学习数据模型(如实体-关系模型),理解表、字段、键等基本元素。 2. **安装与配置**:学习如何在不同的操作...

    oracle 基础知识测试 及答案

    Oracle数据库是全球最广泛使用的...以上就是Oracle基础知识的一些关键点,这些内容可能会出现在"Oracle基础知识测试"中。通过学习和掌握这些知识,可以有效地管理和操作Oracle数据库,满足企业对数据存储和处理的需求。

Global site tag (gtag.js) - Google Analytics