DML、DDL、DCL
作者:互联网
D是Data,L是language
中间字母分别是
M:manipulation 操纵,操作
D:definition 定义
C:control 控制
在执行commit、DDL、DCL、exit、conn语句之后会进行自动提交事务;rollback、quit取消事务,savepoint s1,指定保存点s1,rollback to s1可以回到保存点s1。
一、DML
主要是对数据库数据的操作语言,主要有insert、delete、update、select,主要改变数据。
1、数据查询
select * from jobs; //查询数据
2、数据插入,在插入数据之前看表的结构哪些数据不能为空或者数据的类型
insert into jobs(job_id,job_title,min_salary,max_salary) values('WK_T','Work Test',1000,5000);
未执行commit之后rollback回滚可以取消插入该条数据,但在commit之后rollback,插入的该条数据还是存在数据库中。
rollback
insert into jobs(job_id,job_title,min_salary,max_salary) values('WK_T','Work Test',1000,5000); commit; rollback;
3、update更新数据,有where条件可以对一条或几条数据进行更改,如果没有where就对表所有数据进行更改
update jobs set job_title='Work Test Category A' where job_id='WK_T'; select * from jobs;
4、delete删除数据,有where条件可以删除一条或几条数据,如果没有where就删除整个表的数据;delete删除表数据不释放表空间,所以如果要释放表空间之后要使用truncate,但truncate是整个表数据都删除。
delete from jobs where job_id='WK_T'; select * from jobs;
二、DDL
主要该表的结构,有create、alter、rename、truncate、drop
1、create建表
create table test( tid number(6) not null,tname varchar2(10) not null); desc test
2、alter添加字段或禁用约束
alter table test add loc varchar2(50); desc test;
select constraint_name,table_name from user_constraints; col table_name for a30; col constraint_name for a30; /; alter table DEPARTMENTS disable constraint DEPT_MGR_FK; //禁用约束
除了上面的还有以下功能
alter table test read only|write; //设置表为只读,可以通过将其转为视图(视图就是一个查询语句的别名,无存储结构,复杂查询语句简单化) alter table test drop column loc;
3、rename修改字段名
alter table test rename column loc to location; desc test;
4、truncate删除整张表的数据,rollback之后也不能恢复数据。
insert into test(tid,tname) values(1,'chen'); insert into test(tid,tname) values(2,'yang'); select * from test; truncate table test where tid=1; //错误 truncate table test; select * from test;
5、drop将整个表删除,包括表的结构,可以从回收站恢复表,但是purge删除之后就不可以从回收站恢复了
insert into test(tid,tname) values(1,'chen'); insert into test(tid,tname) values(2,'yang'); drop table test; select * from test; //出现表或视图不存在 desc recyclebin; select OBJECT_NAME,ORIGINAL_NAME from recyclebin; flashback table "BIN$5kAmuOkkfJvgU4lkGawVqg==$0" to before drop; //这里BIN..是OBJECT_NAME select * from test;
drop table test purge; select OBJECT_NAME,ORIGINAL_NAME from recyclebin; //没有信息显示
三、DCL
标签:DCL,rollback,DML,DDL,test,table,数据,alter,select 来源: https://www.cnblogs.com/muhai/p/16587779.html