索引——在查詢表慢的時候,說先要想到建索引
維護資料的完整性:
***約束:
經典案例:
建表:
create table
goods
(goodsid char(8) primary key,--主鍵
goodsname varchar2(30),
unitprice number(10,2) check (unitprice>0),
category varchar2(8),
provider varchar2(30)
);create table
customer
(customerid char(8) primary key,--主鍵
name varchar2(50) not null,
address varchar2(50),
email varchar2(50) unique,
*** char(2) default'男' check(*** in('男','女')),//***預設為男,其只可在『男』或『女』範圍內.
alter table goods modify goodsname not null;//修改表goods中goodsname欄位使其不為空。
alter table customer add constraint
aaunique(cardid);//增加身份證不為空,其中陰影標記為約束名自定義即可
alter table customer add constraint
bbcheck (address in ('東城','西城'));//增加客戶住址約束
顯示約束資訊:
表級定義和列級定義:
管理索引:
為什麼新增索引會加快查詢速度?
****乙個圖書館書圖書沒有進行分類存放
****乙個圖書館書圖書進行按類別(且按序)存放,
去借書可先在電腦查詢書的具體位置,可快速的找到要看的書。(電腦相當於建立的索引)
索引的建立:
***簡單索引建立
create index nameindex on customer(name);//nameindex為索引名,自定義;
customer為表名,name為列
***單列索引
***復合索引
create index emp_isx1 on emp(ename,job);//表示先按ename查詢,然後按job查詢
create index emp_isx2 on emp(job,ename,);//表示先按job查詢,然後按ename查詢
知識小提:
在利用select語句查詢時,如:select * from customer wherejob='clerk' and ename='smith';
一般把檢索範圍小(更容易檢索出結果)的放在後(ename),比較大的放在前(job);(因為sql語句為從後往前掃瞄)
索引使用原則:
Oracle 資料庫常用操作語句大全
文件摘自 一 oracle資料庫操作 1 建立資料庫 create database databasename 2 刪除資料庫 drop database dbname 3 備份資料庫 exp demo demo orcl buffer 1024 file d back.dmp full y dem...
Oracle 資料庫常用操作語句大全
轉 一 oracle資料庫操作 1 建立資料庫 create database databasename 2 刪除資料庫 drop database dbname 3 備份資料庫 exp demo demo orcl buffer 1024 file d back.dmp full y demo 使...
Oracle資料庫(十三) 函式
函式是通過return語句返回資料 只能作為乙個可執行語句的一部分執行。如果沒有引數,可以不用寫括號 函式能返回任何的資料型別,但是不能返回乙個異常 function shema.name parameter parameter.return return datatype authid defin...