国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle數(shù)據(jù)操作和控制語(yǔ)言問(wèn)題詳解

瀏覽:4日期:2023-11-12 12:34:46
Oracle數(shù)據(jù)操作和控制語(yǔ)言詳解(一) SQL語(yǔ)言共分為四大類(lèi):數(shù)據(jù)查詢(xún)語(yǔ)言DQL,數(shù)據(jù)操縱語(yǔ)言DML,數(shù)據(jù)定義語(yǔ)言DDL,數(shù)據(jù)控制語(yǔ)言DCL。其中用于定義數(shù)據(jù)的結(jié)構(gòu),比如創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù);DCL用于定義數(shù)據(jù)庫(kù)用戶(hù)的權(quán)限;在這篇文章中我將具體講述這兩種語(yǔ)言在Oracle中的使用方法。 DML語(yǔ)言 DML是SQL的一個(gè)子集,主要用于修改數(shù)據(jù),下表列出了ORACLE支持的DML語(yǔ)句。 語(yǔ)句 用途 INSERT 向表中添加行 UPDATE 更新存儲(chǔ)在表中的數(shù)據(jù) DELETE 刪除行 SELECT FOR UPDATE 禁止其他用戶(hù)訪(fǎng)問(wèn)DML語(yǔ)句正在處理的行 LOCK TABLE 禁止其他用戶(hù)在表中使用DML語(yǔ)句 插入數(shù)據(jù) INSERT語(yǔ)句經(jīng)常用于向表中插入行,行中可以有非凡數(shù)據(jù)字段,或者可以用子查詢(xún)從已存在的數(shù)據(jù)中建立新行。 列目錄是可選的,缺省的列的目錄是所有的列名,包括comlumn_id,comlumn_id可以在數(shù)據(jù)字典視圖ALL_TAB_COLUMNS,USER_TAB_COLUMNS,或者DBA_TAB_COLUMNS中找到。 插入行的數(shù)據(jù)的數(shù)量和數(shù)據(jù)類(lèi)型必須和列的數(shù)量和數(shù)據(jù)類(lèi)型相匹配。不符合列定義的數(shù)據(jù)類(lèi)型將對(duì)插入值實(shí)行隱式數(shù)據(jù)轉(zhuǎn)換。NULL字符串將一個(gè)NULL值插入適當(dāng)?shù)牧兄小Rψ諲ULL經(jīng)常用于表示將某列定義為NULL值。 下面的兩個(gè)例子是等價(jià)的。 INSERT INTO customers(cust_id,state,post_code) VALUE('Ariel',NULL,'94501'); 或 INSERT INTO customers(cust_id,state,post_code) VALUE('Ariel',,'94501'); 更新數(shù)據(jù) UPDATE命令用于修改表中的數(shù)據(jù)。 UPDATE order_rollup SET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL' WHERE cust_id='KOHL' AND order_period=TO_DATE('01-Oct-2000') 刪除數(shù)據(jù) DELETE語(yǔ)句用來(lái)從表中刪除一行或多行數(shù)據(jù),該命令包含兩個(gè)語(yǔ)句: 1、要害字DELETE FROM后跟預(yù)備從中刪除數(shù)據(jù)的表名。 2、WHERE后跟刪除條件 DELETE FROM po_lines WHERE ship_to_state IN ('TX','NY','IL') AND order_date 清空表 假如你想刪除表中所有數(shù)據(jù),清空表,可以考慮使用DDL語(yǔ)言的TRUNCATE語(yǔ)句。TRUNCATE就像沒(méi)有WHERE子句的DELETE命令一樣。TRUNCATE將刪除表中所有行。TRUNCATE不是DML語(yǔ)句是DDL語(yǔ)句,他和DELETE右不同的特點(diǎn)。 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在各種表上無(wú)論是大的還是小的都非常快。假如有ROLLBACK命令DELETE將被撤銷(xiāo),而TRUNCATE則不會(huì)被撤銷(xiāo)。 2、TRUNCATE是一個(gè)DDL語(yǔ)言,向其他所有的DDL語(yǔ)言一樣,他將被隱式提交,不能對(duì)TRUNCATE使用ROLLBACK命令。 3、TRUNCATE將重新設(shè)置高水平線(xiàn)和所有的索引。在對(duì)整個(gè)表和索引進(jìn)行完全瀏覽時(shí),經(jīng)過(guò)TRUNCATE操作后的表比DELETE操作后的表要快得多。 4、TRUNCATE不能觸發(fā)任何DELETE觸發(fā)器。 5、不能授予任何人清空他人的表的權(quán)限。 6、當(dāng)表被清空后表和表的索引講重新設(shè)置成初始大小,而delete則不能。 7、不能清空父表。 SELECT FOR UPDATE select for update語(yǔ)句用于鎖定行,阻止其他用戶(hù)在該行上修改數(shù)據(jù)。當(dāng)該行被鎖定后其他用戶(hù)可以用SELECT語(yǔ)句查詢(xún)?cè)撔械臄?shù)據(jù),但不能修改或鎖定該行。 鎖定表 LOCK語(yǔ)句經(jīng)常用于鎖定整個(gè)表。當(dāng)表被鎖定后,大多數(shù)DML語(yǔ)言不能在該表上使用。LOCK語(yǔ)法如下: LOCK schema table IN lock_mode 其中l(wèi)ock_mode有兩個(gè)選項(xiàng): share 共享方式 exclusive 唯一方式 例: LOCK TABLE intentory IN EXCLUSIVE MODE 死鎖 當(dāng)兩個(gè)事務(wù)都被鎖定,并且互相都在等待另一個(gè)被解鎖,這種情況稱(chēng)為死鎖。 當(dāng)出現(xiàn)死鎖時(shí),ORACLE將檢測(cè)死鎖條件,并返回一個(gè)異常。
主站蜘蛛池模板: 2级毛片| 中文字幕在线播放 | 欧美午夜视频一区二区三区 | 久久美女精品国产精品亚洲 | 天天澡天天碰天天狠伊人五月 | 国产天堂亚洲精品 | 亚洲综合p | 亚洲国产成人私人影院 | 成人久久18免费游戏网站 | 亚洲男女视频 | 国产亚洲精品国产一区 | 自拍一页| 日韩欧美在线播放视频 | 在线免费观看亚洲视频 | gayxxxxgay中国老头 | 亚洲美女一级片 | 亚洲情a成黄在线观看 | 日本人一级毛片视频 | 久久亚洲国产成人亚 | 久久色精品| 成人精品视频在线观看 | 自拍偷自拍亚洲精品一区 | 中文字幕在线不卡 | 亚洲欧洲日产国码一级毛片 | 国产97视频在线 | 毛片在线全部免费观看 | 免费一级在线观看 | 日韩一区二区精品久久高清 | 久草国产在线播放 | 最新亚洲人成网站在线影院 | 点击进入不卡毛片免费观看 | 久久99精品视免费看 | 三级黄色片网址 | 欧美高清一区二区 | 亚洲成在人线久久综合 | 久久久久综合一本久道 | 亚洲视频 欧美视频 | 久草在在线视频 | 久草视频在线播放 | a一级免费 | 欧洲成人在线视频 |