本文是《Oracle數(shù)據(jù)庫(kù)學(xué)習(xí)筆記上》的第二篇或杠,承接上一篇文章的內(nèi)容哪怔。
1向抢、數(shù)據(jù)控制語(yǔ)言DML可以在下列條件下執(zhí)行:
向表中插入數(shù)據(jù)
修改現(xiàn)存數(shù)據(jù)
刪除現(xiàn)存數(shù)據(jù)
2认境、使用INSERT語(yǔ)句向表中插入數(shù)據(jù)。
INSERT INTO table[(column[,column...])] VALUES(value[,value...]);
使用這種語(yǔ)法一次只能向表中插入一條數(shù)據(jù)挟鸠。
為每一列添加一個(gè)新值。
按列的默認(rèn)順序列出各個(gè)列的值艘希。
在INSERT子句中隨意列出列名和他們的值硼身。
字符和日期型數(shù)據(jù)應(yīng)包含在單引號(hào)中S
INSERT INTO departments(department_id, department_name,manager_id,location_id)
VALUES(70, 'Public Relations', 100, 1700);
3、算術(shù)運(yùn)算符
4佳遂、dual虛擬表
SELECT 5+3,'HELLO' FROM dual;
5、操作符的優(yōu)先級(jí)
除的優(yōu)先級(jí)高于加減撒顿。
同一優(yōu)先級(jí)運(yùn)算符從左向右執(zhí)行丑罪。
括號(hào)內(nèi)的運(yùn)算先執(zhí)行
6核蘸、空值
空值是無(wú)效的巍糯,未指定的啸驯,未知的或不可預(yù)知的值
空值不是空格或者0
在Oracle中null和空字符串是等價(jià)的
包含空值的數(shù)學(xué)表達(dá)式的值都為空值
7客扎、n給列起別名的兩種方式
AS 別名
空格 別名
8罚斗、字符串連接
把列與列徙鱼,列與字符連接在一起,用 ‘||’表示
9、在SELECT子句中使用關(guān)鍵字‘DISTINCT’刪除重復(fù)行
10袱吆、比較運(yùn)算
任何值和空值比較結(jié)果一定為假
11、LIKE比較運(yùn)算符要配合通配符來(lái)使用
%代表零個(gè)或多個(gè)任意字符
_代表一個(gè)任意字符
12婶希、使用ORDER BY子句排序
ASC:升序(默認(rèn))
DESC:降序
ORDER BY子句在SELECT的結(jié)尾
SELECT employee_id, last_name, job_id, salary
FROM employees
ORDER BY hire_date;
排序表達(dá)式可以是以下四種情況
?列名
?別名
?表達(dá)式
?列索引
13蓬衡、在 INSERT 語(yǔ)句中加入子查詢(xún)喻杈。
INSERT INTO sales_reps(id,name, salary, commission_pct)
SELEC? Temployee_id,last_name,salary,commission_pct FROMemployees
WHERE job_id LIKE '%REP%';
14狰晚、使用UPDATE語(yǔ)句更新數(shù)據(jù)筒饰。
UPDATE table SET? column=value[ , column=value, ... ]
[ WHERE condition];
如果省略WHERE子句,則表中的所有數(shù)據(jù)都將被更新壁晒。
15瓷们、使用 DELETE語(yǔ)句從表中刪除數(shù)據(jù)
DELETE [FROM] table [WHERE condition];
如果省略WHERE子句秒咐,則表中的全部數(shù)據(jù)將被刪除谬晕。
16、數(shù)據(jù)約束是操作表數(shù)據(jù)的強(qiáng)制規(guī)定
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
在什么時(shí)候創(chuàng)建約束:
建表的同時(shí)
建表之后
可以在表級(jí)或列級(jí)定義約束 反镇,可以通過(guò)數(shù)據(jù)字典視圖查看約束
CHECK 約束
定義每一行必須滿足的條件
以下的表達(dá)式是不允許的:
出現(xiàn) CURRVAL , NEXTVAL, LEVEL 和 ROWNUM偽列
使用 SYSDATE, UID, USER 和 USERENV 函數(shù)
在查詢(xún)中涉及到其它列的值
從表EMPLOYEES中刪除約束
ALTER? TABLE employees DROP CONSTRAINT emp_manager_fk;
ENABLE 子句可將當(dāng)前無(wú)效的約束激活
ALTER TABLE employees ENABLE CONSTRAINT emp_emp_id_pk;
當(dāng)定義或激活 UNIQUE 或 PRIMARY KEY約束時(shí)系統(tǒng)會(huì)自動(dòng)創(chuàng)建UNIQUE或PRIMARY KEY索引
17、數(shù)據(jù)字典:由oracle自動(dòng)創(chuàng)建和維護(hù)的系統(tǒng)表或者系統(tǒng)視圖歹茶,其用途是用來(lái)描述數(shù)據(jù)庫(kù)信息夕玩,用戶(hù)信息等數(shù)據(jù)
靜態(tài)數(shù)據(jù)字典:描述數(shù)據(jù)庫(kù)的對(duì)象信息。
動(dòng)態(tài)數(shù)據(jù)字典:描述數(shù)據(jù)庫(kù)的運(yùn)行信息燎孟,隨著運(yùn)行會(huì)時(shí)刻發(fā)生變化的。
User_*:當(dāng)前用戶(hù)擁有的對(duì)象信息尸昧。
All_*:當(dāng)前用戶(hù)能訪問(wèn)的對(duì)象信息揩页。
Dba_*:數(shù)據(jù)庫(kù)中所有的對(duì)象信息。
常用動(dòng)態(tài)數(shù)據(jù)字典
數(shù)據(jù)庫(kù)運(yùn)行烹俗,不斷更新,提供關(guān)于內(nèi)存幢妄,磁盤(pán)運(yùn)行的情況兔仰,只能讀取不能修改。
以V$開(kāi)頭
V$session:當(dāng)前會(huì)話信息蕉鸳。
V$sql:當(dāng)前查詢(xún)過(guò)的sql語(yǔ)句乎赴,訪問(wèn)過(guò)的資源與對(duì)象。
V$tablespace表空間信息
18榕吼、基本的查詢(xún)語(yǔ)句
查詢(xún)某個(gè)表的某幾列
SELECT?列名1,列名2?FROM?表名;
查詢(xún)某個(gè)表的所有列
SELECT * FROM?表名;