日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Oracle系列:(19)增刪改數(shù)據(jù)
準(zhǔn)備
col empno for 9999;
col ename for a10;
col job for a10;
col mgr for 9999;
col hiredate for a12;
col sal for 9999;
col comm for 9999;
col deptno for 99;
col tname for a40;
set pagesize 80;

讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、雅安服務(wù)器托管、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、巨鹿網(wǎng)站維護(hù)、網(wǎng)站推廣。

--創(chuàng)建新表xxx_emp,復(fù)制emp表中的結(jié)構(gòu),同時(shí)復(fù)制emp表的所有數(shù)據(jù)
create table xxx_emp
as 
select * from emp;

回顧SQL92/99標(biāo)準(zhǔn)的四大類(lèi)

(1)DML(數(shù)據(jù)操縱語(yǔ)言):select,insert,update,delete

(2)DDL(數(shù)據(jù)定義語(yǔ)言):create table,alter table,drop table,truncate table

(3)DCL(數(shù)據(jù)控制語(yǔ)言):grant select any table to scott/revoke select any table from scott

(4)TCL(事務(wù)控制語(yǔ)言):commit,rollback,savepoint to 回滾點(diǎn)

向emp表中插入一條記錄(方式一:按表默認(rèn)結(jié)構(gòu)順序)insert into 表名 values ...語(yǔ)法

insert into emp values(1111,'JACK','IT',7788,sysdate,1000,100,40);

向emp表中插入一條記錄(方式二:按自定義順序)insert into 表名(列名) values ...語(yǔ)法

insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO) 
values('MARRY',2222,'IT',7788,sysdate,1000,100,40);

向emp表中插入NULL值(方式一:采用顯示插入NULL值)

insert into emp values(3333,'SISI','IT',7788,sysdate,1000,NULL,40);

向emp表中插入NULL值 (方式二:采用隱式插入NULL值),前提是所插入的字段允許插入NULL值

insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL,DEPTNO) 
values('SOSO',4444,'IT',7788,sysdate,1000,40);

&占位符應(yīng)用于insert】使用&占位符,動(dòng)態(tài)輸入值,&可以運(yùn)用在任何一個(gè)DML語(yǔ)句中,在values子句中使用,例如:'&ename'和&sal

insert into emp values(&empno,'&ename','&job',&mgr,&hiredate,&sal,&comm,&xxxxxxxx);

注意:&是sqlplus工具提供的占位符,如果是字符串或日期型要加''符,數(shù)值型無(wú)需加''符

&占位符應(yīng)用于select的表名】使用&占位符,動(dòng)態(tài)輸入值,&可以運(yùn)用在任何一個(gè)DML語(yǔ)句中,在from子句中使用

select * from &table;

Oracle系列:(19)增刪改數(shù)據(jù)

&占位符應(yīng)用于select的列名】使用&占位符,動(dòng)態(tài)輸入值,&可以運(yùn)用在任何一個(gè)DML語(yǔ)句中,在select子句中使用

select empno,ename,&colname from emp;

Oracle系列:(19)增刪改數(shù)據(jù)

&占位符應(yīng)用于where】使用&占位符,動(dòng)態(tài)輸入值,&可以運(yùn)用在任何一個(gè)DML語(yǔ)句中,在where子句中使用

select * from emp where sal > &money;

&占位符應(yīng)用于group by和having】使用&占位符,動(dòng)態(tài)輸入值,&可以運(yùn)用在任何一個(gè)DML語(yǔ)句中,在group by 和 having子句中使用

select deptno,avg(sal)
from emp
group by &deptno
having avg(sal) > &money;

刪除emp表中的所有記錄

delete from emp;

將xxx_emp表中所有20號(hào)部門(mén)的員工,復(fù)制到emp表中,批量插入,insert into 表名 select ...語(yǔ)法

insert into emp
select * 
from xxx_emp
where deptno=20;

Oracle系列:(19)增刪改數(shù)據(jù)

將'SMITH'的工資增加20%

update emp set sal=sal*1.2 where ename = upper('smith');

Oracle系列:(19)增刪改數(shù)據(jù)

將'SMITH'的工資設(shè)置為20號(hào)部門(mén)的平均工資,這是一個(gè)條件未知的事物,優(yōu)先考慮子查詢(xún)

第一:20號(hào)部門(mén)的平均工資

     

select avg(sal) from emp where deptno=20;

第二:將'SMITH'的工資設(shè)置為2207

     

update emp set sal=2207 where ename = 'SMITH';

 

子查詢(xún):

update emp 
set sal = (
    select avg(sal) 
    from emp 
    where deptno=20
    ) 
where ename = 'SMITH';

 

刪除工資比所有部門(mén)平均工資都低的員工,這是一個(gè)條件未知的事物,優(yōu)先考慮子查詢(xún)

第一:查詢(xún)所有部門(mén)的平均工資

select avg(sal) from emp group by deptno;

第二:刪除工資比(*,*,*)都低的員工

delete from emp where sal

子查詢(xún):

delete 
from emp 
where sal < all(
    select avg(sal) 
    from emp 
    group by deptno
);

刪除無(wú)傭金的員工

delete from emp where comm is null;

將emp表丟入回收站,drop table 表名

drop table emp;

從回收站將emp表閃回,flashback table 表名 to before drop

flashback table emp to before drop;

查詢(xún)回收站,show recyclebin

show recyclebin;

清空回收站,purge recyclebin

purge recyclebin;

使用關(guān)鍵字purge,徹底刪除emp表,即不會(huì)將emp表丟入回收站,永久刪除emp表,drop table 表名 purge

drop table emp purge;

依據(jù)xxx_emp表結(jié)構(gòu),創(chuàng)建emp表的結(jié)構(gòu),但不會(huì)插入數(shù)據(jù)

create table emp
as
select * from xxx_emp where 1<>1;
create table emp(empno,ename)
as
select empno,ename from xxx_emp where 1=2;

Oracle系列:(19)增刪改數(shù)據(jù)

創(chuàng)建emp表,復(fù)制xxx_emp表中的結(jié)構(gòu),同時(shí)復(fù)制xxx_emp表的所有數(shù)據(jù)

create table emp
as
select * from xxx_emp where 1=1;

注意:where不寫(xiě)的話(huà),默認(rèn)為true

將emp截?cái)啵僮詣?dòng)創(chuàng)建emp表,truncate table 表名

truncate table emp;

向emp表,批量插入來(lái)自xxx_emp表中部門(mén)號(hào)為20的員工信息,只包括empno,ename,job,sal字段

insert into emp(empno,ename,job,sal)
select empno,ename,job,sal 
from xxx_emp 
where deptno=20;

Oracle系列:(19)增刪改數(shù)據(jù)

向emp表(只含有empno和ename字段),批量插入xxx_emp表中部門(mén)號(hào)為20的員工信息

insert into emp(empno,ename)
select empno,ename from xxx_emp where deptno=20;

drop table 和 truncate table 和 delete from 區(qū)別

drop table

1)屬于DDL

2)不可回滾

3)不可帶where

4)表內(nèi)容和結(jié)構(gòu)刪除

5)刪除速度快

truncate table

1)屬于DDL

2)不可回滾

3)不可帶where

4)表內(nèi)容刪除

5)刪除速度快

delete from

1)屬于DML

2)可回滾

3)可帶where

4)表結(jié)構(gòu)在,表內(nèi)容要看where執(zhí)行的情況

5)刪除速度慢,需要逐行刪除


當(dāng)前名稱(chēng):Oracle系列:(19)增刪改數(shù)據(jù)
標(biāo)題鏈接:http://www.dlmjj.cn/article/jicosg.html