SQL語言分為五大類

2021-08-22 16:17:35 字數 1404 閱讀 5176

sql語言分為五大類:

ddl(資料定義語言) - create、alter、drop 這些語句自動提交,無需用commit提交。(data definition language)

dql(資料查詢語言) - select 查詢語句不存在提交問題。

dml(資料操縱語言) - insert、update、delete 這些語句需要commit才能提交。(data manipulation language)

dtl(事務控制語言) - commit、rollback 事務提交與回滾語句。

dcl(資料控制語言) - grant、revoke 授予許可權與**許可權語句。

鎖有很多種,一般我們關注的都是dml操作產生的,比如insert,delete,update,select...for update都會同時觸發表級鎖和行級鎖

補充:對的,insert以後commit之前是鎖表的狀態,其他事務無法對該錶進行操作。

commit工作過程

oracle在sga撤銷段緩衝區中生成撤銷記錄,撤銷記錄包含更新和刪除錶行的舊值

oracle在sga重做日誌緩衝區生成重做日誌記錄

oracle修改sga資料庫中的緩衝區

重做記錄中的事務被標記上為所提交事務的唯一scn

日誌寫入程式將事務重做日誌資訊和事務scn,從重做日誌緩衝區寫到磁碟上的重做日誌檔案

釋放oracle持有的鎖,標記事務為完成

commit引數

commit_wait初始化引數

commit_wait=

oracle預設是commit方式是wait

作用:控制重做日誌寫入方式

備註:nowait適用場景(a,有大量的事務redo,資訊需要寫入redo log;b,容忍部分資料丟失;c,等待lgwr寫對運用程式來說不可以忍受)。

force_wait:將會適用oracle預設方式提交

commit_logging 初始化引數

commit_logging=

immediat:lgwr將redo資訊立即寫入到重做日誌檔案

batch:redo資訊會被buffer,即redo不立即寫入到重做日誌檔案

commit用法

commit

commit write wait;

commit write nowait

commit write batch;

commit write immediate;

wait、nowait控制什麼時候將redo資訊寫入到redo logs

immediat 、batch控制redo資訊以怎樣的方式寫入到redo logs

備註:pl/sql預設方式batch nowait

redis五大型別以及相關命令

連線雲伺服器後,輸入命令redis cli進入redis.string set u 5333 將字串u設定為5333 getrange u 0 1 獲取儲存在keyu中全部字串 incr u 將u增1 decr u 將u減1 incrby u 3 將u增加3 decrby u 3 將u減去3 inc...

Redis五大型別之String操作

檢視和連線redis命令列 redis cli help 檢視所有string型別的操作 help stringstring型別分為三種 1.string 2.number 3.bit 應用場景 秒殺 incr 分布式鎖setnx 一 string 型別 1 插入資料 set k1 aa 2 如果k...

05 redis五大型別string

string型別 字串 127.0.0.1 6379 set key1 v1 設定值 ok127.0.0.1 6379 get key1 取值 v1 127.0.0.1 6379 keys 檢視所有值 1 key1 127.0.0.1 6379 exists key1 key是否存在 integer...