SQL语句复习【专题三】测试
DML 数据操做语言【insert into update delete】
建立表 简单的方式【使用查询的结果集来建立一张表】
create table temp as select * from emp
select * from temp
--删除表
drop table tempspa
--建立一张空表【只是复制了表的结构】
select * from emp where 1!=1
create table temp as select * from emp where 1!=1事务
--insert插入测试数据
select * from temp
insert into temp (empno, ename, job,mgr,hiredate,sal,comm,deptno) values('0001','张三丰','掌门',null,sysdate,5000,1000,10);
insert into temp (empno, ename, job,mgr,hiredate,sal,comm,deptno) values('0002','张无忌','教主',null,sysdate,3000,500,10);
--提交数据【必定要提交事务】
commitit
--显式的插入指定的字段数据,字段的顺序能够和表结构不一致。能够不插入全部的数据,插入指定的某些字段的数据。
insert into temp (empno, ename, job,mgr,hiredate,sal,comm,deptno) values('0003','赵敏','郡主',null,sysdate,3000,500,20);
--回滚数据--提交数据以后就不能再回滚。
rollback
-- 只是对插入的数据指定某些值
insert into temp (ename,empno, job,hiredate,sal,deptno) values('周芷若','0004','峨眉派',sysdate,10000,20);
-- 不显式的声明要写入的字段,必须按照表结构的顺序书写
insert into temp values('0005','小昭','侍女',null,sysdate,3000,500,10);table
--修改数据 update:全部须要修改的数据,都须要使用 where 条件筛选出来。
--将张无忌的mgr 设置为 张三丰
update temp set mgr='0001' where ename='张无忌'
select * from temp效率
--将全部的员工的工资都提高50%
update temp set sal=sal*1.5 where 1=1date
--将全部奖金为null 的员工的奖金设置为0
update temp set comm=nvl(comm,0) where 1=1select
--将没有领导的员工的领导设置为本身的编号
update temp set mgr=nvl(mgr,empno) where 1=1数据
--删除 from 能够省略
delete from temp where ename='周芷若'
delete temp where ename='赵敏';
commit查询
--若是删除全部的数据,不加条件就ok
delete temp
--所有删除数据的时候能够使用 truncate, 效率更高,并且不须要提交。
truncate table temp