Oracle數(shù)據(jù)類型及表管理

Oracle 數(shù)據(jù)類型

創(chuàng)建表時(shí)贬墩,必須為各個(gè)列指定數(shù)據(jù)類型

以下是 Oracle 數(shù)據(jù)類型的類別:



Oracle主要數(shù)據(jù)類型

Character 數(shù)據(jù)類型

Char:固定長度字母數(shù)字值,可1-2000個(gè)字節(jié)

Varchar2:可變長度欣福,1-4000個(gè)字節(jié)

Long:可變長度,最多2G

Number 數(shù)據(jù)類型

可以存儲(chǔ)整數(shù)改橘、浮點(diǎn)數(shù)和實(shí)數(shù)

最高精度為 38 位

格式: NUMBER [( p[, s])]

Date 數(shù)據(jù)類型

存儲(chǔ)日期和時(shí)間值

Date:存儲(chǔ)日期和時(shí)間部分绵脯,精確到整個(gè)的秒

Timestamp:存儲(chǔ)日期、時(shí)間和時(shí)區(qū)信息慰照,秒值精確到小數(shù)點(diǎn)后6位

RAW/LONG RAW數(shù)據(jù)類型

RAW:存儲(chǔ)二進(jìn)制數(shù)據(jù),最多2000字節(jié)

LONG RAW:用于存儲(chǔ)可變長度的二進(jìn)制數(shù)據(jù)琉朽,最多2GB

LOB數(shù)據(jù)類型

稱為“大對(duì)象”數(shù)據(jù)類型毒租,可以存儲(chǔ)多達(dá) 4GB 的非結(jié)構(gòu)化信息,例如聲音剪輯和視頻文件等箱叁,允許對(duì)數(shù)據(jù)進(jìn)行高效墅垮、隨機(jī)、分段的訪問

CLOB:字符數(shù)據(jù)耕漱;BLOB:二進(jìn)制對(duì)象算色,如圖形、視頻孤个、音頻等剃允;BFILE :即 Binary File(二進(jìn)制文件),它用于將二進(jìn)制數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫外部的操作系統(tǒng)文件中


SQL 語句復(fù)習(xí)

SQL 支持下列類別的命令:

數(shù)據(jù)定義語言(DDL):用于改變數(shù)據(jù)庫結(jié)構(gòu)

CREATE? ALTER? DROP

數(shù)據(jù)操縱語言(DML):用于檢索修改和插入數(shù)據(jù)

INSERT? SELECT? DELETE UPDATE

事務(wù)控制語言(TCL):保證事務(wù)的執(zhí)行

COMMIT? ROLLBACK? SAVEPOINT

數(shù)據(jù)控制語言(DCL):提供權(quán)限控制命令

GRANT? REVOKE


表管理--創(chuàng)建表

利用現(xiàn)有的表創(chuàng)建表

語法:

CREATE TABLE <new_table_name> AS SELECT column_names FROM <old_table_name>;

示例:

SQL> CREATE TABLE newemp

? ? ? ? ? ?AS SELECT * FROM emp[WHERE 1 = 2;];

SQL> CREATE TABLE newemp

? ? ? ? ? ?AS SELECT empno, salary

? ? ? ? ? ?FROM emp;


表管理--約束

五大約束

1齐鲤、非空約束:NOT NULL

2斥废、主鍵約束:PRIMARY KEY,唯一给郊、且非空

3牡肉、外鍵約束:FOREIGN KEY ... REFERENCES

4、唯一約束:UNIQUE淆九,唯一统锤,允許為空

5、條件約束:CHECK

列級(jí)約束

約束作為列定義的一部分炭庙,允許定義全部的五類約束

SQL> CREATE TABLE clazz_table (

? ? ? ? ? cid NUMBER(10)PRIMARY KEY,

? ? ? ? ? cname VARCHAR2(30) NOT NULL,

? ? ? ? ? cdate DATE);

SQL> CREATE TABLE student_table(

? ? ? ? ? sid NUMBER(10) primary key ,

? ? ? ? ? clazzid NUMBER(10)REFERENCES clazz_table(cid),

? ? ? ? ? sno VARCHAR2(30)UNIQUE,

? ? ? ? ? sname VARCHAR(30) NOT NULL,

? ? ? ? ? sage NUMBER(3) CHECK(sage>0 AND sage<120));

注意:

列名饲窿、數(shù)據(jù)類型、缺省值的次序不能亂焕蹄;

在列定義的最后逾雄,指定列類型的約束;

主鍵約束的列可以不指定非空約束(NOT NULL)。

表級(jí)約束

約束作為表定義的一部分鸦泳,除非空約束外银锻,允許定義其他四類約束

唯一約束

CONSTRAINT nameUNIQUE(column[,column...])?

主鍵約束

CONSTRAINT name PRIMARY KEY(column[,column...])?

外鍵約束

CONSTRAINT name FOREIGN KEY (column[,column...]) REFERENCES table(column[,column...])

條件約束

CONSTRAINT name CHECK(condition)?

定義表級(jí)約束

SQL>create table account(

name VARCHER2(32) ,

acc_type NUMBER(1) NOT NULL,

acc_code VARCHAR2(32),

ba NUMBER(5,2) DEFAULT 100,

CONSTRAINT pk_qrsx_account PRIMARY KEY (name),

CONSTRAINT uk_qrsx_account UNIQUE(acc_code),

CONSTRAINT ck_qrsx_account CHECK(ba>=100 AND ba<=1000));


表管理--修改表

ALTER TABLE :修改表

列的添加、修改

給表添加/刪除約束

語法:

ALTER TABLE[add][modify][drop column]

示例:

alter table users add(pubdate date);

alter table users add(age number)

alter table users modify(userName varchar2(20));

alter table users drop(password);

alter table users add primary key(userId);


表管理--其它

RENAME table_name TO new_name :重命名

TRUNCATE TABLE:刪除表 做鹰,記錄不可恢復(fù)

DROP TABLE:刪除表

COMMENT ON:為表添加注釋

示例:

RENAME users to test

DROP TABLE users击纬;--刪除表結(jié)構(gòu)

TRUNCATE TABLE users --刪除記錄,釋放空間

DELETE FROM emp --刪除記錄钾麸,但可以恢復(fù)

COMMENT ON TABLE emp IS 'Employee Information';


Oracle數(shù)據(jù)庫中的表

用戶表

用戶創(chuàng)建和維護(hù)的一系列表的集合包含用戶的信息

數(shù)據(jù)字典

Oracle 服務(wù)器創(chuàng)建和維護(hù)的一系列表和視圖的集合更振,包含數(shù)據(jù)庫的信息

user_xxx用戶擁有的

all_xx 用戶有權(quán)查看

dba_xxx(sys)? 所有的信息


數(shù)據(jù)控制語言DCL

數(shù)據(jù)控制語言為用戶提供權(quán)限控制命令

用于權(quán)限控制的命令有:

GRANT 授予權(quán)限

REVOKE 撤銷已授予的權(quán)限

示例:

SQL> GRANT ALL ON EMP TO TEA;

SQL> REVOKE SELECT, UPDATE ON EMP FROM TEA;


本章小結(jié)

掌握Oracle常用數(shù)據(jù)類型

掌握Oracle數(shù)據(jù)庫表的管理

掌握事務(wù)控制語句

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市喂走,隨后出現(xiàn)的幾起案子殃饿,更是在濱河造成了極大的恐慌谋作,老刑警劉巖芋肠,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異遵蚜,居然都是意外死亡帖池,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門吭净,熙熙樓的掌柜王于貴愁眉苦臉地迎上來睡汹,“玉大人,你說我怎么就攤上這事寂殉∏舭停” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵友扰,是天一觀的道長彤叉。 經(jīng)常有香客問我,道長村怪,這世上最難降的妖魔是什么秽浇? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮甚负,結(jié)果婚禮上柬焕,老公的妹妹穿的比我還像新娘。我一直安慰自己梭域,他們只是感情好斑举,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著病涨,像睡著了一般富玷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天凌彬,我揣著相機(jī)與錄音沸柔,去河邊找鬼。 笑死铲敛,一個(gè)胖子當(dāng)著我的面吹牛褐澎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伐蒋,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼工三,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了先鱼?” 一聲冷哼從身側(cè)響起俭正,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎焙畔,沒想到半個(gè)月后掸读,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宏多,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年儿惫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片伸但。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肾请,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出更胖,到底是詐尸還是另有隱情铛铁,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布却妨,位于F島的核電站饵逐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏管呵。R本人自食惡果不足惜梳毙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捐下。 院中可真熱鬧账锹,春花似錦、人聲如沸坷襟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽婴程。三九已至廓奕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桌粉。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工蒸绩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人铃肯。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓患亿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親押逼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子步藕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容