代码改变世界

Oracle表管理

2020-03-18 15:09  默默不语  阅读(150)  评论(0编辑  收藏  举报
--★★★★★
--DDL(数据定义语言):create创建表、alter修改表结构、drop删除表等
--DQL(数据查询语言):select
--DCL(数据控制语言):grant授权\revoke撤销等
--DML(数据操纵语言):insert\delete\update
--TCL(事务控制语言):rowback回滚、commit提交、savepoint保存回滚点等
--drop不会彻底删除,会放入回收站
--★★★★★


--1新增表
create table student (
       id number(10) default 1,
       name varchar2(20),
       ruxue date,
       address varchar2(100)
)
--查询该表
select * from student;
--插入一条数据从
insert into student (id,name,ruxue,address) values (2,'咕咕',to_date('2020-03-13','yyyy-MM-dd'),'天津市');
--提交事务
commit;

--2.1修改表结构:新增字段
alter table student add (phone varchar2(15));

--2.2修改表结构:修改字段(字段名无法修改,若想修改字段名,只能删了该条字段再重新添加)
alter table student modify (phone varchar2(15) default 13888888000);

--2.3修改表结构之删除字段
alter table student drop column phone;

--非空约束:如果这个字段值是空,并且这个字段有被非空约束修饰,那么会报错。
--所以我们一般不在新增加的字段上设置非空约束,因为一旦这张表有数据,或者新增加字段没有设置默认值,则会报错。

--2.4修改表名
rename stu to student;

--3删除表(drop不会彻底删除,只是放入回收站)
drop table student;

--查看回收看中的表(不用背)
select * from RECYCLEBIN;

--恢复回收站中的表(不用背)
FLASHBACK TABLE student TO BEFORE DROP;

--删除回收站中的表(不用背)
PURGE TABLE student;

--彻底删除表(要背)
drop table student PURGE;

--如果要清空表中的数据,而不删除表结构,使用TRUNCATE替换delete
--delete效率低,可回滚
delete from student;
--TRUNCAT效率远远高于delete,无法回滚
TRUNCATE table student;