1. 程式人生 > >SQL語句復習【專題三】

SQL語句復習【專題三】

張三豐 tab span sda commit 不一致 value 顯式 沒有

SQL語句復習【專題三】

DML 數據操作語言【insert into update delete】
創建表 簡單的方式【使用查詢的結果集來創建一張表】
create table temp as select * from emp
select * from temp
--刪除表
drop table temp

--創建一張空表【只是復制了表的結構】
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);
--提交數據【一定要提交事務】
commit

--顯式的插入指定的字段數據,字段的順序可以和表結構不一致。可以不插入所有的數據,插入指定的某些字段的數據。
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);

--修改數據 update:所有需要修改的數據,都需要使用 where 條件篩選出來。
--將張無忌的mgr 設置為 張三豐
update temp set mgr=‘0001‘ where ename=‘張無忌‘


select * from temp

--將所有的員工的工資都提升50%
update temp set sal=sal*1.5 where 1=1

--將所有獎金為null 的員工的獎金設置為0
update temp set comm=nvl(comm,0) where 1=1

--將沒有領導的員工的領導設置為自己的編號
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

SQL語句復習【專題三】