自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle數(shù)據(jù)語言的4大類

數(shù)據(jù)庫 Oracle
以下的文章主要是對(duì)Oracle數(shù)據(jù)操作與控制語言的詳細(xì)介紹,以及我們?cè)趯?shí)際操作中經(jīng)常使用的語言的分類,以下就是文章的具體內(nèi)容的介紹。

SQL語言一共可以分為4大類,即,Oracle數(shù)據(jù)查詢語言DQL,Oracle數(shù)據(jù)操縱語言DML, 還有數(shù)據(jù)定義語言DDL,數(shù)據(jù)控制語言DCL。其中用于定義數(shù)據(jù)的結(jié)構(gòu),比如 創(chuàng)建、修改或者刪除數(shù)據(jù)庫;

DCL用于定義數(shù)據(jù)庫用戶的權(quán)限;在這篇文章中我將詳細(xì)講述這兩種語言在Oracle中的使用方法。

DML語言

DML是SQL的一個(gè)子集,主要用于修改Oracle數(shù)據(jù),下表列出了ORACLE支持的DML語句。

 

語句 用途
INSERT 向表中添加行
UPDATE 更新存儲(chǔ)在表中的數(shù)據(jù)
DELETE 刪除行
SELECT FOR UPDATE 禁止其他用戶訪問DML語句正在處理的行。
LOCK TABLE 禁止其他用戶在表中使用DML語句

插入數(shù)據(jù)

INSERT語句常常用于向表中插入行,行中可以有特殊Oracle數(shù)據(jù)字段,或者可以用子查詢從已存在的數(shù)據(jù)中建立新行。

列目錄是可選的,缺省的列的目錄是所有的列名,包括comlumn_id,comlumn_id可以在數(shù)據(jù)字典視圖ALL_TAB_COLUMNS,USER_TAB_COLUMNS,或者DBA_TAB_COLUMNS中找到。

插入行的數(shù)據(jù)的數(shù)量和Oracle數(shù)據(jù)類型必須和列的數(shù)量和數(shù)據(jù)類型相匹配。不符合列定義的數(shù)據(jù)類型將對(duì)插入值實(shí)行隱式數(shù)據(jù)轉(zhuǎn)換。NULL字符串將一個(gè)NULL值插入適當(dāng)?shù)牧兄?。關(guān)鍵字NULL常常用于表示將某列定義為NULL值。

下面的兩個(gè)例子是等價(jià)的。

 

 

  1. INSERT INTO customers(cust_id,state,post_code)  
  2. VALUE('Ariel',NULL,'94501');  

 

  1. INSERT INTO customers(cust_id,state,post_code)  
  2. VALUE('Ariel',,'94501');  

更新數(shù)據(jù)

UPDATE命令用于修改表中的Oracle數(shù)據(jù)。

 

  1. UPDATE order_rollup  
  2. SET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL' 
  3. WHERE cust_id='KOHL' 
  4. AND order_period=TO_DATE('01-Oct-2000')  

刪除數(shù)據(jù)

DELETE語句用來從表中刪除一行或多行數(shù)據(jù),該命令包含兩個(gè)語句:

1、關(guān)鍵字DELETE FROM后跟準(zhǔn)備從中刪除數(shù)據(jù)的表名。

2、WHERE后跟刪除條件

 

  1. DELETE FROM po_lines  
  2. WHERE ship_to_state IN ('TX','NY','IL')  
  3. AND order_date< td>  

清空表

如果你想刪除表中所有Oracle數(shù)據(jù),清空表,可以考慮使用DDL語言的TRUNCATE語句。TRUNCATE就像沒有WHERE子句的DELETE命令一樣。TRUNCATE將刪除表中所有行。TRUNCATE不是DML語句是DDL語句,他和DELETE右不同的特點(diǎn)。

 

  1. TRUNCATE TABLE (schema)table DROP(REUSE) STORAGE  

STORAGE子串是可選的,缺省是DROP STORAGE。當(dāng)使用DROP STORAGE時(shí)將縮短表和表索引,將表收縮到最小范圍,并重新設(shè)置NEXT參數(shù)。REUSE STORAGE不會(huì)縮短表或者調(diào)整NEXT參數(shù)。

TRUNCATE和DELETE有以下幾點(diǎn)區(qū)別

1、TRUNCATE在各種表上無論是大的還是小的都非??臁H绻蠷OLLBACK命令DELETE將被撤銷,而TRUNCATE則不會(huì)被撤銷。

2、TRUNCATE是一個(gè)DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對(duì)TRUNCATE使用ROLLBACK命令。

3、TRUNCATE將重新設(shè)置高水平線和所有的索引。在對(duì)整個(gè)表和索引進(jìn)行完全瀏覽時(shí),經(jīng)過TRUNCATE操作后的表比DELETE操作后的表要快得多。

4、TRUNCATE不能觸發(fā)任何DELETE觸發(fā)器。

5、不能授予任何人清空他人的表的權(quán)限。

6、當(dāng)表被清空后表和表的索引講重新設(shè)置成初始大小,而delete則不能。

7、不能清空父表。

 

  1. SELECT FOR UPDATE 

select for update語句用于鎖定行,阻止其他用戶在該行上修改Oracle數(shù)據(jù)。當(dāng)該行被鎖定后其他用戶可以用SELECT語句查詢?cè)撔械臄?shù)據(jù),但不能修改或鎖定該行。

鎖定表

LOCK語句常常用于鎖定整個(gè)表。當(dāng)表被鎖定后,大多數(shù)DML語言不能在該表上使用。LOCK語法如下:

 

  1. LOCK schema table IN lock_mode  

其中l(wèi)ock_mode有兩個(gè)選項(xiàng):

share 共享方式

exclusive 唯一方式

例:

 

  1. LOCK TABLE intentory IN EXCLUSIVE MODE  

 上述的相關(guān)內(nèi)容就是對(duì)Oracle數(shù)據(jù)操作和控制語言詳解的描述,希望會(huì)給你帶來一些幫助在此方面。

文章出自:  http://www.programbbs.com/doc/class10-3.htm

【編輯推薦】

  1. Oracle 語句的優(yōu)化規(guī)則中的相關(guān)項(xiàng)目
  2. Oracle實(shí)例如何創(chuàng)建?
  3. Oracle sql 性能如何進(jìn)行調(diào)整
  4. Oracle sql 性能的優(yōu)化調(diào)整的2大步驟
  5. 對(duì)Oracle SQL相同語句的解析
責(zé)任編輯:佚名 來源: programbbs
相關(guān)推薦

2009-11-11 09:40:53

Oracle索引掃描

2010-11-15 15:20:13

Oracle索引掃描

2010-04-19 17:08:01

Oracle參數(shù)

2010-04-13 12:56:16

Oracle字符集

2016-11-08 16:42:03

算法AI大數(shù)據(jù)

2021-08-11 14:48:32

數(shù)據(jù)分析大數(shù)據(jù)算法

2022-02-22 11:20:56

滲透測(cè)試網(wǎng)絡(luò)安全

2010-05-31 12:10:37

2019-01-31 09:33:50

CNN神經(jīng)網(wǎng)絡(luò)激活函數(shù)

2017-10-21 23:44:18

2019-09-28 22:41:18

OracleMySQL隱式數(shù)據(jù)

2010-03-22 14:54:35

2017-11-30 10:24:17

AWSIoT機(jī)器學(xué)習(xí)

2009-07-02 11:29:30

MySQL參數(shù)

2011-05-25 15:49:32

HP墨盒講解

2009-10-22 15:35:24

VB.NET循環(huán)

2009-11-10 11:01:05

VB.NET事件

2020-05-16 12:20:40

Excel數(shù)據(jù)清洗函數(shù)

2020-03-02 11:50:05

人工智能機(jī)器學(xué)習(xí)技術(shù)

2009-11-06 11:21:21

WCF事務(wù)管理器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)