Oracle表的修改和删除以及回收站操作


一:表操作
create user learn_object identified by test;
--给予权限
grant dba to learn_object;
--创建表
create table tb_userinfo(
   userid number primary key, --primary key表示主键 (唯一 并且不能为空)
   username varchar2(20) not null, --not null 表示当前的列 不允许插入 null 和 ''
   sex number default 0   --默认值 default 值 当插入数据为空时 自动填上默认值 插入不为空的值 插入当前值
)
--修改表名称
rename tb_userinfo to userinfo
--修改列名
alter table userinfo rename column sex to tb_sex
--修改列类型
alter table userinfo modify username char(20) 
--添加列
alter table userinfo add age number default 18
--删除列
alter table userinfo drop column age
二:删除操作
       删除表:把表中所有的行和表结构都删除。
DROP TABLE 表名;--Oracle中删除表时并没有直接删除,只是放置到“回收站”
显示回收站中的对象:SHOW RECYCLEBIN;
恢复回收站中的表:FLASHBACK TABLE 表名 TO BEFORE DROP;
删除回收站中的表:PURGE TABLE 表名;
彻底删除 不进回收站:DROP TABLE 表名 PURGE;
截断表:删除表中所有的数据行,重置表的存储空间。
TRUNCATE TABLE 表名;
delete from 表名
区别 :
  1  truncate是ddl语句  delete 是dml语句 都可以删除数据行
  2  truncate不需要提交事物 delete需要提交事物
  3  truncate删除表数据及表的存储 无法恢复 delete删除 可以使用归档日志恢复  
  4  delete可以删除指定条件的记录
 三 表分区
           意义 :可以容灾(出现事故后 还有一部分数据保留)
范围(range(字段名))
范围分区将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期
格式:
create table XXX() partition by range(表中数值类型的字段名)(partition 分区名 values less than 具体值  [tablespace 表空间名] ,…)
列表(list(字段名))
该分区的特点是某列的值只有几个
…partition by list(字段名) (partition 分区名 values (值列表)值  [tablespace 表空间名] ,…))
哈希(hash)
分区是在列值上使用散列算法,以确定将行放入哪个分区中。当列的值没有合适的条件时,建议使用散列分区。
…partition by hash(表中数值类型的字段名)(partition 分区 [tablespace 表空间名] ,…)
… partition by hash(表中数值类型的字段名)PARTITIONS n STORE IN (s1,….sn)
列表(list(字段名))

复合分区(分区组合)
            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值