SQL語句複習【專題三】

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

相關文章
相關標籤/搜索