您好,登錄后才能下訂單哦!
==========視圖============
數(shù)據(jù)庫(kù)中的虛擬表,相當(dāng)于軟鏈接
作用:一張表中的數(shù)據(jù)給不同的權(quán)限用戶(hù)提供訪(fǎng)問(wèn)
假設(shè)一張表:
公司員工績(jī)效工資考核表
工號(hào) 姓名 年齡 崗位 績(jī)效 工資
1 Tom 50 總裁 100萬(wàn)
2 Jerry 42 總監(jiān) 90 20萬(wàn)
3 charry 30 云計(jì)算工程師 80 12萬(wàn)
4 Jack 24 云計(jì)算工程師 90 15萬(wàn)
語(yǔ)法:create view 視圖名稱(chēng) as (可加)select 語(yǔ)句
創(chuàng)建查找成績(jī)大于80 的表形成 視圖
create view score_view as select * from info where score >80;
修改視圖也是意味著修改表
update score_view set score=88 where name='lisi';
==========事務(wù)============
數(shù)據(jù)庫(kù)事務(wù)(Database Transaction) ,是指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作,要么完全地執(zhí)行,要么完全地不執(zhí)行。 事務(wù)處理可以確保除非事務(wù)性單元內(nèi)的所有操作都成功完成,否則不會(huì)永久更新面向數(shù)據(jù)的資源。通過(guò)將一組相關(guān)操作組合為一個(gè)要么全部成功要么全部失敗的單元,可以簡(jiǎn)化錯(cuò)誤恢復(fù)并使應(yīng)用程序更加可靠。
一個(gè)邏輯工作單元要成為事務(wù),必須滿(mǎn)足所謂的ACID(原子性、一致性、隔離性和持久性)屬性。事務(wù)是數(shù)據(jù)庫(kù)運(yùn)行中的邏輯工作單位,由DBMS中的事務(wù)管理子系統(tǒng)負(fù)責(zé)事務(wù)的處理。
一組操作共同執(zhí)行或者都不執(zhí)行,結(jié)果保持一致。
假設(shè)舉例:銀行轉(zhuǎn)賬
姓名 余額 【條件是余額一定要大于0】
zhangsan 100
lisi 200
假設(shè)操作:zhangsan轉(zhuǎn)賬100給lisi (操作是不成立的)
銀行數(shù)據(jù)庫(kù)轉(zhuǎn)賬的執(zhí)行過(guò)程語(yǔ)句:
begin #開(kāi)始
update bank set money=money-100 where name=‘zhangsan’
update bank set money=money+100 where name=‘lisi’
rollback #回滾
commit #提交
#因?yàn)閦hangsan的賬戶(hù)余額不能等于0,所以語(yǔ)句不成立,直接執(zhí)行rollback #回滾。
原理:只要有一條語(yǔ)句不能執(zhí)行成功就回滾
要么執(zhí)行,保持結(jié)果一致性,
要么就是回滾到begin最開(kāi)始的時(shí)候(內(nèi)存中進(jìn)行的操作),都不執(zhí)行
set命令:
set autocommit=0 #禁止自動(dòng)提交 等同于begin
set autocommit=1 #開(kāi)啟自動(dòng)提交
在begin事務(wù)操作中
savepoint s1; #相當(dāng)于快照,保存當(dāng)前的mysql操作
rollback to savepoint s1; #回滾到之前的保存點(diǎn)
commit; #一旦提交就不可更改
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。