码迷,mamicode.com
首页 > 数据库 > 详细

ORACLE 表的操作

时间:2020-11-11 16:36:53      阅读:12      评论:0      收藏:0      [点我收藏+]

标签:from   drop   包含   class   creat   拓展   detail   分数   默认值   

一、表是Oracle常见的数据库对象

Oracle中的表分为

①用户定义的表:

 --由用户创建并维护的一组表

 --包含用户所需的信息

②数据字典:

 --由Oracle server 自动创建的一组表

 --包含数据库信息

③查询数据字典

select table_name  from user_tables;  --查看用户定义表

select distinct object_type  from user_objects; --查看用户定义的各种数据库对象

select * from user_catalog; --查看用户定义的表,视图,同意词和序列

 

 技术图片

 二、创建表

语法:

create table 表名(

    字段名  数据类型  约束(可无),

    字段名  数据类型  约束(可无),

    字段名  数据类型  约束(可无),

 字段名  数据类型   约束(可无)

 

 

 注意:

① 表名和列名:

  必须以字母开头

  必须在 1–30 个字符之间

  必须只能包含 A–Z, a–z, 0–9, _, $, 和 #

  必须不能和用户定义的其他对象重名

  必须不能是Oracle 的保留字

 

 

 

 ② 数据类型

 

 

 

 

 技术图片

创建表的两种方式

方法一
------------创建新表--------------
CREATE TABLE dept    
       (
             deptno     NUMBER(2),
             dname       VARCHAR2(14),
             loc         VARCHAR2(13)
         );
方法二     
------------由旧表创建新表-------------

 使用子查询创建(复制旧表,结构和数据一起复制)

CREATE TABLE dept2
AS
  select *
  from  dept;

拓展:
CREATE TABLE dept2
AS
  select deptno,dname
  from dept
  where dname = ‘chen‘;


注意:方法二 dept2 不仅表结构和dept一样,而且表中数据也一模一样
如果只想取dept2中部分数据和字段也可 select 部分字段 from 表 where 部分数据

    

三、修改已有表$$删除表

 1.修改表:ALTER TABLE 语句

  ①追加新的列 
      ALTER TABLE table
      ADD    
      (
            字段名 数据类型 约束,
            字段名 数据类型 约束,
            ......
       );
       
       alter table dept
       add(sex varchar2(10) )
    ----------------------------------

  ②修改现有的列 (修改列的数据类型,长度、约束、默认值)
       ALTER TABLE table
       MODIFY       
       (
            字段名 数据类型 约束,
            字段名 数据类型 约束,
            ......
       );
        alter table dept
        modify (sex number(20) )
    ----------------------------------
  ③为新追加的列定义默认值(default)
        alter table dept
        modify (sex number(20) default 100 )

注意 :对默认值的修改只影响今后对表的修改 ----------------------------------   ④删除一个列 ALTER TABLE table DROP COLUMN column_name; alter table dept drop COLUMN sex ----------------------------------   ⑤重命名表的一个列名 ALTER TABLE table_name RENAME COLUMM old_column_name TO new_column_name alter table dept rename column sex to id ----------------------------------

    2.删除表 :DROP TABLE 语句


DROP
TABLE dept(表名)

注意:

--数据和结构都被删除

--所有正在运行的相关事务被提交

--所有相关索引被删除

--DROP TABLE 语句不能回滚

    3.清空表 TRUNCATE TABLE 语句:

TRUNCATE TABLE 语句:
删除表中所有的数据
释放表的存储空间

注意:
TRUNCATE语句不能回滚
可以使用 DELETE 语句删除数据,可以回滚
对比:
  delete from emp;
  select * from emp;
  rollback;
  select * from emp;

 4.改变表的名称

执行RENAME语句改变表, 视图, 序列, 或同义词的名称

RENAME dept TO detail_dept;

必须是对象的

总结

语句

描述

CREATE TABLE

创建表

ALTER TABLE

修改表结构

DROP TABLE

删除表

RENAME  TO 

重命名表

TRUNCATE TABLE

删除表中的所有数据,并释放存储空间

 

以上这些DDL的命令操作后皆不可回滚!

 

ORACLE 表的操作

标签:from   drop   包含   class   creat   拓展   detail   分数   默认值   

原文地址:https://www.cnblogs.com/host-cyj/p/13767474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!