*****************************修改表结构***************************
sno
name
age
一.什么时候使用修改表结构
想修改表结构,同时还想保留数据,使用修改表
需求: 加一个 地址字段 address
1. 添加字段
alter table student
add
(address varchar2(500))
2. 修改字段
alter table student
modify
(address varchar2(600))
3.删除字段
alter table student
drop
(address)
添加约束、修改约束 类似 添加字段
******************************truncate 截断表********************************
truncate table 表名
只删除数据 不会删除表结构
************************drop、delete、truncate三者的区别************************
drop 属于DDL语句 立马执行 不仅删除表的数据而且表的结构也会删除
delete
1.属于DML语句 删除的时候 需要先把删除的数据放到回滚段中 可以回滚
2.删除的时候可以按照条件删除
3.删除记录的时候会触发 触发器
truncate
1.属于DDL语句 立马执行 只删除数据 不会删除表结构 删除数据的时候不会把数据放到
回滚段中 会立马删除
2.不能按条件删除
3.不会触发 触发器
效率
drop>truncate>delete
*****************************闪回***************************
从oracle9i开始 有闪回的概念
以前drop表是直接drop,从oracle9i开始 先把删除的表结构放到回收站 不会立马删除
1. show recyclebin -- 显示回收站的内容
2. flashback table 表 to before drop
如果回收站中有两个相同的表 闪回的时候 是闪回的最后一个 遵循后进先出的原则
如果再闪回相同名称的emp表 因为已经存在重复的emp表名 需要为闪回的表从新命名
flashback table 表 to before drop rename to emp111;