Oracle入门(十一)之SQL
SQL的組成 核心SQL主要有四個部分:
1、數(shù)據(jù)定義語言即SQL DDL(Data Definition Language ),用于定義 SQL模式、基本表、視圖、索引等結(jié)構(gòu)。
CREATE、ALTER、DROP、REVOKE、GRANT
?
2、數(shù)據(jù)操縱語言 即SQL DML(Data Manipulation Language)。
數(shù)據(jù)操縱分成數(shù)據(jù)查詢和數(shù)據(jù)更新兩類。其中數(shù)據(jù)更新又分成插入、刪除和修改三種操作。
SELECT、INSERT、UPDATE、DELETE
?
3、數(shù)據(jù)控制語言DCL(Data Control Language) 這類語言用于實(shí)現(xiàn)用戶權(quán)限授予或者取消,保證數(shù)據(jù)安全性。
? ? 主要包括Grant 、 Revoke 、 Deny 、 Commit 、 Savepoint 、 Rollback等。
?
4、嵌入式SQL語言的使用規(guī)定 這一部分內(nèi)容涉及到SQL語句嵌入在宿主語言程 序中的規(guī)則。
? ? VC、VB、Delphi、Java等
?
二、Oracle主要數(shù)據(jù)類型
Character 數(shù)據(jù)類型
Number 數(shù)據(jù)類型
Date 數(shù)據(jù)類型
Raw 和 Long Raw 數(shù)據(jù)類型
LOB 數(shù)據(jù)類型有Blob、Clob、Nclob
?
三、create
1、創(chuàng)建用戶?
? ?create user 【用戶名】 identified by ?【密碼】 [default tablespace 【表空間名】quota 100m on 【表空間名】?password expire]?
? ?[]里面的內(nèi)容可以省略,如果省略,默認(rèn)表空間為本用戶的表空間,不分配表空間,密碼不過期
2、創(chuàng)建表
? ?create table 【表名】(
? ?【屬性】 ?【類型】 [ 【約束】]
? ? ...
? )
[default tablespace 【表空間】] ? ? ? ? ?--默認(rèn)表空間
[temporary tablespace 【表空間】] ? ? --臨時表空間
[
??PCTUSED 10 ? --使用空間,刪除數(shù)據(jù)小于該容量進(jìn)行插入操作
? PCTFREE 10 ? --空閑空間
? INITRANS 1 ? ? ? ? --塊事務(wù)表大小,默認(rèn)值為2
? MAXTRANS 100 ?--塊事務(wù)表最大值
? STORAGE ( ? ?--存儲空間設(shè)置
? ? ?INITIAL 1048576 ? ?--初始分配
? ? ?NEXT 1048576 ? ? ?--下次分配
? ? ?PCTINCREASE 0 ? --分配擴(kuò)長比,0為最合適的,否則每次分配都是前一次的(100+x)%倍分配
? ? ?MINEXTENTS 1 ? ??
? ? ?MAXEXTENTS 512
? ? ?FREELISTS 1
? ? ?FREELIST
? ? ?GROUPS 1
? ? ?Buffer_pool Recycle
]
| 參數(shù)名稱 | 缺省值 | 最小值 | 最大值 | 說明 |
| INITIAL | 5(數(shù)據(jù)塊) | 2(數(shù)據(jù)塊) | 操作系統(tǒng)限定 | 分配給Segment的第一個Extent的大小,以字節(jié)為單位,這個參數(shù)不能在alter語句中改變,如果指定的值小于最小值,則按最小值創(chuàng)建。 |
| NEXT | 5(數(shù)據(jù)塊) | 1(數(shù)據(jù)塊) | 操作系統(tǒng)限定 | 第二個Extent的大小等于NEXT的初值,以后的NEXT值=前一NEXT大小乘以(1+PCTINCREASE/100),如果指定的值小于最小值,則按最小值創(chuàng)建。 如果在alter語句中改變NEXT的值,則下一個分配的Extent將具有指定的大小,而不管上一次分配的Extent大小和PCTINCREASE參數(shù)值。 |
| MINEXTENTS | 1(Extent) 回滾段為2個Extent | 1(Extent) 回滾段為2個Extent | 操作系統(tǒng)限定 | Segment第一次創(chuàng)建時分配的Extent數(shù)量 |
| MAXEXTENTS | 根據(jù)數(shù)據(jù)塊大小而定 | 1(Extent) 回滾段為2個Extent | 無限制 | 隨著Segment中數(shù)據(jù)量的增長,最多可分配的Extent數(shù)量 |
| PCTINCREASE | 50% (Oracle816中為0%) | 0% | 操作系統(tǒng)限定 | 指定第三個及其后的Extent相對于上一個Extent所增加的百分比, 如果PCTINCREASE為0,則Segment中所有新增加的Extent的大小都相同,等于NEXT的值, 如果PCTINCREASE大于0,則每次計(jì)算NEXT的值(用上面的公式), PCTINCREASE不能為負(fù)數(shù)。 創(chuàng)建回滾段時,不可指定此參數(shù),回滾段中此參數(shù)固定為0。 |
| OPTIMAL | ---- | 不能小于回滾段初始分配空間 | 操作系統(tǒng)限定 | 僅與回滾段有關(guān),當(dāng)回滾段因?yàn)樵鲩L、擴(kuò)展而超過此參數(shù)的設(shè)定范圍時,Oracle系統(tǒng)會根據(jù)情況動態(tài)地重新分配Extents,試圖收回多分配的Extent。 |
| FREELISTS | 1 | 1 | 數(shù)據(jù)塊大小限制 | 只能在CREATE TABLE、CLUSTER、INDEX中指定FREELISTS和FREELIST GROUPS參數(shù)。 模式對象中每一個自由列表組中自由列表的數(shù)量 |
| FREELIST GROUPS | 1 | 1 | 取決于Oracle并行實(shí)例的數(shù)量 | 用戶創(chuàng)建的數(shù)據(jù)庫對象的自由列表組的數(shù)量,只有用OPS并行服務(wù)器選項(xiàng)時才使用這一參數(shù),一個實(shí)例對應(yīng)一個組。 |
| BUFFER_POOL | ---- | ---- | ---- | 給模式對象定義缺省緩沖池(高速緩存),該對象的所有塊都存儲在指定的高速緩存中,對于表空間或回滾段無效。 |
3、創(chuàng)建角色
? ? create role 【角色名】;
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Oracle入门(十一)之SQL的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle入门(四)之查询基本信息
- 下一篇: 数据库SQL索引