對(duì)于oracle初學(xué)時(shí)有些不知怎樣入門,后來入門后覺得蠻有意思。小伙不扯別的了,以下是對(duì)oracle基本操作總結(jié):
1)以下代碼全部經(jīng)過驗(yàn)證,包括部分截圖,運(yùn)行無誤。
2)是對(duì)核心語句基本操作總結(jié),適合入門學(xué)習(xí),大鳥飄過。
3)全部原創(chuàng),旨在交流學(xué)習(xí),知識(shí)共享。
一 表的操作:
--創(chuàng)建表
create table shangpin
(
商品編號(hào) number,
商品名稱 varchar2(10),
商品產(chǎn)地 varchar(20),
商品單價(jià) varchar(20),
供應(yīng)商號(hào) varchar(20)
);
--插入
insert into shangpin(商品編號(hào),商品名稱,商品產(chǎn)地,商品單價(jià),供應(yīng)商號(hào))
values (2002,'聯(lián)想G470','江蘇','4000¥',2);
commit;
insert into shangpin(商品編號(hào),商品名稱,商品產(chǎn)地,商品單價(jià),供應(yīng)商號(hào))
values (2003,'聯(lián)想G470','江蘇','3000¥',3);
commit;
insert into shangpin(商品編號(hào),商品名稱,商品產(chǎn)地,商品單價(jià),供應(yīng)商號(hào))
values (2004,'宏基G470','臺(tái)灣','4000¥',4);
commit;
insert into shangpin(商品編號(hào),商品名稱,商品產(chǎn)地,商品單價(jià),供應(yīng)商號(hào))
values (2005,'宏基G470','臺(tái)灣','4000¥',5);
--插入商品信息
insert into shangpin(商品編號(hào),商品名稱,商品產(chǎn)地,商品單價(jià),供應(yīng)商號(hào))
values(2006,'小米','深圳','1299¥',6);
--商品信息插入省略列表清單
insert into shangpin
values(2007,'電視機(jī)','深圳','1899¥',7);
--表查看
select * from shangpin;
--表修改
alter table shangpin add name varchar2(10);//添加列
alter table shangpin add (name1 varchar2(10),name2 number,...);//添加多列
alter table shangpin modify name varchar2(10);//修改列的類型
alter table shangpin modify (商品產(chǎn)地 varchar(20),商品單價(jià) varchar(20),供應(yīng)商號(hào) varchar(20));//修改多列的類型
ALTER TABLE shangpin RENAME COLUMN id TO 商品編號(hào);//修改列名
update shangpin set 商品單價(jià)='30000¥' where 商品編號(hào)=2002;//修改表內(nèi)容
--表刪除
drop table shangpin;
delete shangpin where 商品編號(hào)='2002';//刪除列
alter table shangpin drop column 商品編號(hào);//刪除列
alter table shangpin drop (test,test2);//刪除多列
--查詢表結(jié)構(gòu)
SQL> conn bai/bai
已連接。
SQL> desc shangpin
二 索引的建立、修改、查看、刪除操作。
--創(chuàng)建索引
create index sp_id on shangpin(商品編號(hào) DESC );
--使用索引
select * from shangpin where 商品編號(hào)='20012';//創(chuàng)建索引只是提高查詢效率
--修改索引
drop index sp_id;
create index sp_id on shangpin(商品編號(hào) ASC);
--刪除索引
drop index sp_id;
三 視圖的建立、查詢、修改、刪除操作。
--創(chuàng)建視圖
create or replace view shangpin_view(名稱,價(jià)格,產(chǎn)地) as select 商品名稱,商品單價(jià),商品產(chǎn)地 from shangpin;//單表
create or replace view table_view(列名A,列名B,列名C...) as select 表1.列名1,表1.列名2,表1.列名3,表2.列名1
from 表1,表2 where 表1編號(hào)=表2編號(hào); //擴(kuò)展知識(shí),連接視圖
--檢索視圖定義
desc shangpin_view;
--刪除視圖
drop view shangpin_view;
--修改視圖
drop view shangpin_view;
create or replace view shangpin_view(名稱,價(jià)格,產(chǎn)地) as select 商品名稱,商品單價(jià),商品產(chǎn)地 from shangpin;
四 同義詞的建立、查詢、修改、刪除操作,比較對(duì)同義詞的操作與對(duì)原數(shù)據(jù)庫對(duì)象的操作是否一致。
--創(chuàng)建同義詞
create synonym 商品 for shangpin;
--使用同義詞
select * from 商品;
--查看同義詞
desc 商品;
--刪除同義詞
drop synonym 商品;
五 掌握序列的建立、查詢、修改、刪除操作,利用序列向數(shù)據(jù)庫表中插入數(shù)據(jù)。
--創(chuàng)建序列
create sequence shang_id
start with 1 //從1開始
increment by 1 //每次遞增1
nomaxvalue //無最大值
nocycle
cache 10; //緩存中預(yù)先分配10條,以提高獲取序列值的速度
create sequence shang_id start with 2009 increment by 1 nomaxvalue nocycle cache 10;
--修改序列
alter sequence shang_id
increment by 1
maxvalue 10000
cycle
nocache;
--查詢序列
desc shang_id;
--刪除序列
drop sequence shang_id;
六 其他相關(guān)操作
--刪除空的表空間,但是不包含物理文件
drop tablespace tablespace_name;
--刪除非空表空間,但是不包含物理文件
drop tablespace tablespace_name including contents;
--刪除空表空間,包含物理文件
drop tablespace tablespace_name including datafiles;
--刪除非空表空間,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空間中的表有外鍵等約束關(guān)聯(lián)到了本表空間中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
對(duì)于單個(gè)user和tablespace 來說, 可以使用如下命令來完成。
步驟一: 刪除user
drop user ×× cascade
說明: 刪除了user,只是刪除了該user下的schema objects,是不會(huì)刪除相應(yīng)的tablespace的。
步驟二: 刪除tablespace
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
1.查詢重復(fù)(usr_id)的行:
select user_id from t_insure_feed group by user_id having count(*)>1;
2.全部刪除重復(fù)的行。ㄒ粋(gè)都不剩下)
delete from t_insure_feed where user_id in (select user_id from t_insure_feed group by user_id having count(*)>1);
刪除主鍵
先ALTER TABLE TABLENAME DROP PRIMARY KEY;
再DROP INDEX PK_XXX