数据库基础知识——TCL语言
生活随笔
收集整理的這篇文章主要介紹了
数据库基础知识——TCL语言
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.TCL含義
TCL,事務控制語言。通過一組邏輯操作單元(一組DML——sql語句),將數(shù)據(jù)從一種狀態(tài)切換到另外一種狀態(tài),即要么全部成功,要么全部失敗。2.特點
(ACID) 原子性(atomicity):要么都執(zhí)行,要么都回滾 一致性(consistency):保證數(shù)據(jù)的狀態(tài)操作前和操作后保持一致 隔離性(lsolation):多個事務同時操作相同數(shù)據(jù)庫的同一個數(shù)據(jù)時,一個事務的執(zhí)行不受另外一個事務的干擾 持久性(durability):一個事務一旦提交,則數(shù)據(jù)將持久化到本地,除非其他事務對其進行修改3.事務的分類:
隱式事務,沒有明顯的開啟和結(jié)束事務的標志
比如 insert、update、delete語句本身就是一個事務顯式事務,具有明顯的開啟和結(jié)束事務的標志
1、開啟事務取消自動提交事務的功能set autocommit=0;start transaction;2、編寫事務的一組邏輯操作單元(多條sql語句,包括DQL、DML,不包括DDL)語句1語句2。。。。3、結(jié)束事務提交事務或回滾事務commit或者rollback #1.開啟事務 set autocommit=0; start transaction;#2.編寫語句 insert into book(id,bbook) value(1,'qwe'); insert into book(id,bbook) value(3,'qwexss');#3.結(jié)束事務 commit;4.使用到的關(guān)鍵字
set autocommit=0; start transaction; commit; rollback;savepoint 斷點 commit to 斷點 rollback to 斷點5.事務的隔離級別:
事務并發(fā)問題如何發(fā)生?
當多個事務同時操作同一個數(shù)據(jù)庫的相同數(shù)據(jù)時事務的并發(fā)問題有哪些?
臟讀:一個事務讀取到了另外一個事務未提交的數(shù)據(jù) 不可重復讀:同一個事務中,多次讀取到的數(shù)據(jù)不一致 幻讀:一個事務讀取數(shù)據(jù)時,另外一個事務進行更新,導致第一個事務讀取到了沒有更新的數(shù)據(jù)如何避免事務的并發(fā)問題?
通過設置事務的隔離級別 1、READ UNCOMMITTED 2、READ COMMITTED 可以避免臟讀 3、REPEATABLE READ 可以避免臟讀、不可重復讀和一部分幻讀 4、SERIALIZABLE可以避免臟讀、不可重復讀和幻讀設置隔離級別:
set session|global transaction isolation level 隔離級別名;查看隔離級別:
select @@transaction_isolation;總結(jié)
以上是生活随笔為你收集整理的数据库基础知识——TCL语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot集成Spring S
- 下一篇: 利用子网掩码划分子网