ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DML、DDL、DCL

2022-08-15 12:04:15  阅读:221  来源: 互联网

标签:DCL rollback DML DDL test table 数据 alter select


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有