Oracle第三節課總結

集合運算:

一、  union求並集,公共部分只有包含一次

例:求emp表ename中含’A‘或含有‘M’

select * from emp whereename like '%A%'

   union

  select * from emp where ename like '%M%';

二、union all求集並,公共部分只有包含二次

例:求emp表ename中含’A‘或含有‘M’

select * from emp whereename like '%A%'

  union all

  select * from emp where ename like '%M%';

 

三、intersect求交集,只有包含公共部分

例:求emp表ename中即含’A‘又含有‘M’

select * from emp whereename like '%A%'

     intersect

     select * from emp where ename like '%M%';

 

四、minus求差集,求集合A去除集合A和集合B的交集

例:求emp表sal從700到1200

select * from emp where salbetween 700 and 1300

    minus

select * from emp where sal between 1200 and 1400;

SQL語言共分爲四大類:數據查詢語言DQL,數據操縱語言DML, 數據定義語言DDL,數據控制語言DCL。其中用於定義數據的結構,比如 創建、修改或者刪除數據庫;DCL用於定義數據庫用戶的權限;在這篇文章中我將詳細講述這兩種語言在Oracle中的使用方法。

DML語言

  DML是SQL的一個子集,主要用於修改數據,下表列出了oracle支持的DML語句。

語句  用途

insert  向表中添加行

update  更新存儲在表中的數據

delete  刪除行

select  for update  禁止其他用戶訪問DML語句正在處理的行。

Lock table 禁止其他用戶在表中使用DML語句

  插入數據

  insert語句常常用於向表中插入行,行中可以有特殊數據字段,或者可以用子查詢從已存在的數據中建立新行。

  插入行的數據的數量和數據類型必須和列的數量和數據類型相匹配。不符合列定義的數據類型將對插入值實行隱式數據轉換。NULL字符串將一個NULL值插入適當的列中。關鍵字NULL常常用於表示將某列定義爲NULL值。

更新數據

 

  UPDATE命令用於修改表中的數據。

update emps setjob='student' where empno=7937;  刪除數據

  DELETE語句用來從表中刪除一行或多行數據,該命令包含兩個語句:

   1、關鍵字DELETE FROM後跟準備從中刪除數據的表名。

   2、WHERE後跟刪除條件

 

delete from emps whereempno=7936;

 

鎖定表

 

  LOCK語句常常用於鎖定整個表。當表被鎖定後,大多數DML語言不能在該表上使用。LOCK語法如下:

 

LOCK schema table INlock_mode

 

  死鎖

  當兩個事務都被鎖定,並且互相都在等待另一個被解鎖,這種情況稱爲死鎖。

  當出現死鎖時,ORACLE將檢測死鎖條件,並返回一個異常。

事物的提交(commit)和回滾:(rollback)

COMMIT和ROLLBACK語句的優點

使用COMMIT 和 ROLLBACK語句,我們可以:

確保數據完整性。

數據改變被提交之前預覽。

將邏輯上相關的操作分組

發佈了93 篇原創文章 · 獲贊 10 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章