索引(index):--加快資料的查詢而建立的資料庫物件也叫資料庫模式物件
可以為某些頻繁出現在select中的條件建立索引
建立索引(索引的建立與刪除不需要許可權)
語法:create index 索引名 on 表名(欄位名);
create index i_name on emp(ename);
select * from emp where ename like '%s%';用到上面的索引(不用顯示的呼叫,資料庫自動引用)
create index i_name_and_job on emp(ename,job);
select * from emp where ename='scott' or job='manager'; --能用到上面建立的索引
select * from emp where ename='scott'; --不會用到上面建立的索引
資料庫會為主鍵約束和唯一約束自動建立索引稱之為唯一索引
create unique index 索引名 on 表名(欄位名);
create unique index i_bname on book(bname);
設定索引原則:
1.大表
2.頻繁被使用的字段
刪除索引:
drop index 索引名;
序列(sequence):
是序列號生成器,可以為表中的行自動生成序列號,產生一組等間隔的數值(型別)。主要用途是為表生成主鍵值
建立序列需要create sequence許可權
語法create sequence 序列名
[start with n]
--以n開始生成,預設值是1
[increment by n]
--每次增長n,預設值是1
--有無有最大值n,系統能生成的最大值(10^27)
--有無有最小值n,系統能生成的最小值(-10^27,預設值是1
--有無緩衝n,預設是20
--是否迴圈,預設不迴圈
建立乙個序列
create sequence seq_test
strat with 2
increment by 2
maxvalue 99999
nochache
nocycle
序列的使用:
current value
1.currval 獲取當前序列的值
用法:序列名.currval
2.nexval 獲取下乙個序列的值
用法:序列名.nextval
select seq_test.nextval from dual;--2
select seq_test.nextval from dual;--4
select seq_test.currval from dual;--4
insert into book(bid,bname) values(seq_1.nextval,'第一本');
insert into book(bid,bname) values(seq_1.nextval,'第二本');
刪除序列:
drop sequence 序列名;
刪除序列需要是當前序列的建立者,或具有drop any sequence許可權
序列的修改:
alter sequence 序列名
[increment by n]
--每次增長n,預設值是1
--有無有最大值n,系統能生成的最大值(10^27)
--有無有最小值n,系統能生成的最小值(-10^27,預設值是1
--有無緩衝n,預設是20
--是否迴圈,預設不迴圈
注意:不能修改初始值
alter sequence seq_test increment by 5;
檢視序列的資料字典user_sequences
同義詞(synonym):--為資料庫模式物件起的別名
建立同義詞需要create synonym 系統許可權
同義詞的種類:
公有同義詞:public synonym
私有同義詞:synonym 當前同義詞的擁有者或當前同義詞的擁有者授權個某個使用者
語法:create [public] synonym 同義詞名
for [賬戶名.]物件名;
create synonym syn_emp for emp;
select * from syn_emp;
刪除同義詞:
drop synonym 同義詞名;
刪除同義詞需要是當前同義詞的擁有者或具有drop any sysnonym系統許可權
user_synonyms--同義詞資料字典
Oracle筆記之Oracle資料庫資料型別
1 char 定長,create table tablename filed1 char 32 最大2000個字元,存放時超過報錯,不足補空格。補 dump函式,檢視字段資訊。select filed1,dump filed1 from tablename 2 varchar2 變長,最大4000個...
資料庫學習之oracle
1 oracle資料庫是乙個以高階結構化查詢語言 sql 為基礎的大型關係型資料庫。2 oracle的特點 極其優越的效能 大型資料庫和超大型資料庫首選 基於角色的許可權管理 良好的支援大資料儲存格式 圖音視動 良好的分部式管理 獨創性的表空間理念。3 oracle 8i i internet or...
Oracle資料庫學習筆記 一
微軟 sql server 和 access 瑞典mysql ab公司 mysql ibm公司 db2 美國sybase公司 sybase ibm公司 informix 美國oracle公司 oracle 小型資料庫 access 中型資料庫 sql server mysql informix 大型...