一般有两种情况需要在数据库中创建新表
1 新业务需求新表时, 2 现有表需要进行数据剃重、更新、清除历史数据等操作时
1 新业务需求新表
直接涉及好表结构,通过PLSql等工具,或者create 语句直接创建就好。
2 现有表相关操作
如果是对现有表做数据清理,同时表数据量很大,如果直接在原表操作,会产生大量日志记录,比较好的做法是,把需要的数据拿出来存到一张新表中,之后删除原表,再重命名新表。
create 原表数据存放新表,如果是先建表,后插入,同样会产生记录日志。
create table new_table as select * from old_table where <conditions>;
删除原表
DROP TABLE 默认删除表结构和数据,并放入回收站。
CASCADE CONSTRAINTS 子句删除引用表中主键和唯一键的所有参照完整性约束。
如果存在这种引用完整性约束,并且不使用此子句,Oracle将返回错误并停止删除表。
PURGE 删除表格并且一次释放与之关联的空间,不会将表及其依赖对象放入回收站。不允许回滚或恢复删除的表。如果有敏感数据,可以不出现在回收站中。
DROP TABLE old_table
[CASCADE CONSTRAINTS | PURGE];
新表重命名
rename new_table to old_table;
alter table new_table rename to old_table;
视图
# 创建视图
create or replace view new_view
as select t.* from table_name t with read only;
# 视图重命名
rename new_view to old_view;