亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

面試準備之SQL 5 —— 事務、索引和視圖

2024-07-21 02:45:15
字體:
來源:轉載
供稿:網友

1. 什么是事務?

事務是一種機制、一種操作序列,它包含了一組數據庫操作命令,并且所有的命令作為一個整體一起向系統提交

或撤銷操作請求,即這一組數據庫要么都執行,要么都不執行。特別適用于多用戶同時操作的數據庫系統。

 

事務是作為單個邏輯工作單元執行的一系列操作。

一個邏輯工作單位必須有4個屬性:

原子性:事務是一個完整的操作,事務的各元素不可再分。所有元素必須作為一個整體提交或回滾。

一致性:當事務完成時,數據必須處于一致狀態。

隔離性:對數據進行修改時所有并發事務是彼此隔離的。

持久性:事務完成后,對系統影響是永久性的。

 

2.創建事務

開始事務:begin transaction

提交事務:commit transaction

回滾(撤銷)事務:rollback transaction

 

代碼
use studb
go

if exists(select * from sysobjects where name = 'bank')
drop table bank
create table bank
(
    customerName char(10), --顧客姓名
    currentMoney money --余額
)
go
--增加檢查約束 賬戶余額不能小于1
alter table bank
add constraint CK_currentMoney check(currentMoney >= 1)
go
insert into bank values('張三',1000)
insert into bank values('李四',1)

select * from bank

----------------------------------------------------------
--------------- * * * * 事 * * 務 * * * * ----------------
----------------------------------------------------------
use studb
go
set nocount on --不顯示受影響的行數信息
PRint '事務之前的數據:'
select * from bank
go

begin transaction
declare @errorSum int
set @errorSum=0

update bank set currentMoney = currentMoney-1000 where customername='張三'
update bank set currentMoney = currentMoney+1000 where customername='李四'

set @errorSum = @errorSum + 1
 
print '事務中的數據:'
select * from bank

if @errorSum <> 0
    begin
        print '交易失敗,回滾事務'
        rollback transaction
    end
else
    begin
        print '交易成功,提交事務,寫入硬盤,永久的保存'
        commit transaction
    end
go
print '事務后的數據:'
select * from bank

 

----------------------------------------------------------
--------------- * * * * 索 * * 引 * * * * ----------------
----------------------------------------------------------
--索引:它是SQL Server編排數據的內部方法
--索引可以分為以下三種;
--唯一索引:不允許兩行具有相同的索引值
--主鍵索引:為表定義主鍵時自動創建 唯一索引的特殊類型 主鍵索引要求主鍵中的每一個值都是唯一的
--聚集索引:表中各行的物理順序與鍵值的邏輯(索引)順序相同,表中只能包含一個聚集索引(可以理解為字典的拼音)。
--非聚集索引:數據和索引包含指向數據存儲的相應位置 表中的各行的物理順序與鍵值的邏輯順序不匹配。(可以理解為MAP)
--聚集索引比非聚集索引速度更快
--在一個表中只能有一個聚集索引,但是可以有多個非聚集索引,設置某列為主鍵該列就默認為聚集索引了。
--表是可以沒有索引的,主鍵索引不一定就是聚集索引。

--索引運用到哪里?
--該列頻繁被搜索,該列用于對數據排序
--劣種就幾個不同的值,表中就幾行數據就沒必要使用索引

 

--語法
--create [unique][clustered|nonclustered] index index_name on table_name (column_name[,column_name]...)
--[
-- with fillfactor = x --填充因子 x 為0~100之間的值
--]

 

代碼
use studb
go

if exists (select [name] from sysindexes where [name]='IX_stuMarks_writtenExam')
drop index stuMarks.IX_stuMarks_writtenExam --查詢是否已經存在該索引 如果存在就刪除
create nonclustered index IX_stuMarks_writtenExam on stuMarks(writtenExam)
with fillfactor=30 --填充因子 預留空間
go
--查詢
select * from stumarks (index=IX_stuMarks_writtenExam)
--會報錯 :'index' 附近有語法錯誤。如果它要作為表提示的一部分,則必須有 WITH 關鍵字和圓括號,如:
select * from stumarks with(index=IX_stuMarks_writtenExam)
select * from stumarks with(index=IX_stuMarks_writtenExam)  where writtenExam between 60 and 90
 

----------------------------------------------------------
--------------- * * * * 視 * * 圖 * * * * ----------------
----------------------------------------------------------

視圖:是一種虛擬表,基于一個表或多個表的數據的查詢方法。

一般作用:篩選表中的行、防止未經許可的用戶訪問敏感數據、將多個物理數據表抽象為一個邏輯數據表

--語法:
--create view view_name
--as
--<select 語句>

代碼

use studb
go

if exists(select * from sysobjects where name='view_stuinfo_stumarks')
drop view view_stuinfo_stumarks
go
create view view_stuinfo_stumarks
as
select 姓名=stuname,學號=stuinfo.stuno,筆試成績=writtenexam,機試成績=labexam,
平均分=(writtenexam+labexam)/2 from stuinfo left join stumarks on stuinfo.stuno = stumarks.stuno
go


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩人在线观看| 国产精品偷伦视频免费观看国产| 国产日韩在线精品av| 中文字幕免费精品一区| 亚洲日本aⅴ片在线观看香蕉| 日韩精品在线电影| 久久综合久中文字幕青草| 国产一区二区三区四区福利| 欧美日韩国产色| 亚洲欧美日韩中文视频| 久久韩剧网电视剧| 51久久精品夜色国产麻豆| 精品国产一区二区三区四区在线观看| 精品国产999| 亚洲综合精品伊人久久| 日本欧美中文字幕| 国产欧美精品在线播放| 国产精品专区h在线观看| 亚洲欧美日韩另类| 色爱精品视频一区| 亚洲有声小说3d| 久久视频这里只有精品| 欧美精品一本久久男人的天堂| 亚洲国产欧美自拍| 中文字幕亚洲欧美一区二区三区| 亚洲美女视频网| 亚洲天天在线日亚洲洲精| 久久夜色精品亚洲噜噜国产mv| 亚洲精品网址在线观看| 91av在线视频观看| 在线日韩中文字幕| 美女啪啪无遮挡免费久久网站| 这里只有视频精品| 国产成人福利夜色影视| 精品亚洲精品福利线在观看| 亚洲人成网站色ww在线| 国产亚洲精品久久久优势| 日韩av片免费在线观看| 欧美大肥婆大肥bbbbb| 97久久精品人人澡人人爽缅北| 日本成人免费在线| 欧美激情在线观看视频| 欧美精品激情在线| 亚洲欧美色婷婷| 亚洲一区二区久久久久久久| 欧美剧在线观看| 日本精品一区二区三区在线播放视频| 国产综合久久久久| 久久久最新网址| 岛国av在线不卡| 欧美性生活大片免费观看网址| 久久亚洲精品一区| 国产亚洲精品91在线| 久久91亚洲精品中文字幕奶水| 日韩欧美在线免费| 亚洲国产福利在线| 成人激情视频小说免费下载| 91在线直播亚洲| 欧美色图在线视频| 中文字幕欧美日韩精品| 久久伊人91精品综合网站| 精品久久久一区| 狠狠爱在线视频一区| 日韩男女性生活视频| 精品视频在线播放| 国产成人精品在线观看| 日韩一区在线视频| 欧美黑人xxxx| 国产成人久久久精品一区| 亚洲国产一区二区三区在线观看| 亚洲自拍高清视频网站| 亚洲美女久久久| 欧美日韩成人精品| 国产视频自拍一区| 亚洲精品乱码久久久久久按摩观| 久久亚洲春色中文字幕| 久久精品亚洲精品| 欧美国产日韩一区| 久久综合五月天| 91精品综合久久久久久五月天| 久久亚洲精品毛片| 91成品人片a无限观看| 国产成人精品网站| 97视频在线观看视频免费视频| 国产成人亚洲综合| 91牛牛免费视频| 欧美在线亚洲在线| 色偷偷av一区二区三区乱| 欧美性xxxxxxxxx| 欧美日韩人人澡狠狠躁视频| 国色天香2019中文字幕在线观看| 日韩大胆人体377p| 91日韩在线播放| 国产精品久久久久一区二区| 久久精品国产久精国产一老狼| 成人免费在线视频网址| 美日韩精品免费视频| 91av在线播放视频| 伊人久久久久久久久久久久久| 91久久久久久久久| 国内精品久久久久久| 久久精品亚洲一区| 亚洲精品欧美极品| 国产精品老女人视频| 精品一区二区三区四区在线| 成人欧美一区二区三区黑人| 国内精品视频久久| 国产在线98福利播放视频| 国产精品福利在线观看| 国自在线精品视频| 亚洲va欧美va国产综合久久| 日韩电影在线观看免费| 亚洲福利视频网站| 久久精品国产成人精品| 亚洲第一男人av| 欧美理论片在线观看| 66m—66摸成人免费视频| 欧美亚洲另类激情另类| 久久视频精品在线| 国产成人在线亚洲欧美| 久久中文字幕视频| 日韩中文在线中文网三级| 国产拍精品一二三| 一区二区三区视频免费| 亚洲欧美日韩另类| 国产一区二区丝袜| 国产日本欧美一区二区三区| 欧美日韩国产一区二区| 亚洲欧美日韩综合| 26uuu日韩精品一区二区| 91麻豆国产精品| 国内精品久久久| 欧美精品在线视频观看| 久久精品色欧美aⅴ一区二区| 成人有码在线播放| 亚洲国产天堂网精品网站| 国产精品444| 日产精品久久久一区二区福利| 国产精品欧美在线| 中文字幕日韩免费视频| 中文字幕日韩精品在线观看| 日韩欧美国产成人| 77777亚洲午夜久久多人| 国产日韩中文字幕在线| 91免费在线视频网站| 国内精品一区二区三区| 国产在线观看精品| 777国产偷窥盗摄精品视频| 亚洲国产精品久久久久秋霞蜜臀| 久久亚洲国产精品| 91天堂在线视频| 91精品国产综合久久男男| 亚洲国产精品久久久久秋霞不卡| 久久视频国产精品免费视频在线| 亚洲成人网在线观看| 欧美精品福利视频| 国产日韩欧美在线视频观看| 亚洲精选在线观看| 亚洲天堂影视av| 国内精品久久久久影院 日本资源| 日韩中文字幕视频在线| 成人亚洲欧美一区二区三区| 欧美在线视频免费| www.日韩系列|