日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

T-SQL基础知识

發布時間:2025/3/21 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 T-SQL基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 索引 ?

(1) 建立索引 ?

create [unique][cluster] index <索引名> on <表名> (<列名>[<次序>]) ? ?

unique是唯一索引,保證列不重復;而cluster是聚簇索引,是指索引項的順序與表中的記錄的物理順序一致的索引組合,一個表只能建立一個聚簇索引,如果該列經常更新,就不宜在該列上建立聚簇索引 .

?例子:?Create unique index stuIndex on stu(ID asc,name desc) ? ?

(2) 刪除索引 ?drop index <索引名> on 表

2. 查詢 ?select [all|distinct] 字段名 from 表或者視圖 where 條件表達式 group by [沒有使用聚合函數的字段] having 條件 order by [asc|desc] ? ?

UNION連接表:UNION并不像JOIN關鍵字一樣是個真正的聯接,它更像是聯接兩個查詢結果. ?

需要注意的地方: ?

a. 所有進行UNION的查詢,SELECT列表中列的 數量 必須相同. ?

b. 為合并的結果集返回的標頭(查詢結果集的列名)僅取第一個查詢. ?

c. 一個查詢中的每一列數據類型必須與其他查詢中對應的列的數據類型隱式兼容. ?

d. UNION默認返回的方式是DISTINCT而非ALL,除非指定了ALL關鍵字,否則,只返回一個有重復的行. ??

例如: select col1 from t1 uncion all select col2 from t2; –> 這樣就能返回所有的行了。

3. 插入 ?

(1) 單一直插入 ?insert into 表 (字段) values (值).

(2) 整體插入 ?insert into 表 子查詢.

4. 更新數據 ?

update 表 set 字段=值 where 條件表達式.

5. 刪除 ?

delete from 表 where 條件表達式.

6. 視圖 ?

(1) 視圖的建立 ?

create view 視圖名 (字段) as 子查詢 [with check option] ?其中,子查詢可以是任意復雜的select語句,但通常不允許含有order by子句合distinct短語. ?

[with check option]書上解釋得不清楚,用到時上網學習.

(2) 視圖的刪除

drop view 視圖名 [cascade] ?

注:如果該視圖上還導出了其他視圖,則使用cascade級聯刪除語句,把該視圖和由它導出的所有視圖一起刪除.

7. 觸發器 ?

觸發器的建立 ?

create trigger trigger_name on table|view alter|instead of [insert,update,delete] ?as ?begin???功能語句塊 ?end

?注:sql為每個觸發器都自動創建了兩種特殊的表,即deleted表和inserted表. ?

(1)deleted表用于存儲delete和update所影響的行的副本. ?

(2)inserted表用于存儲insert和update所影響的行的副本.

?如果一個觸發器執行引發了另一個觸發器,叫嵌套觸發器,觸發器最多可以嵌套32層. ?

(1)RaisError?自定義錯誤提示. ?

(2)RollBack?回滾. ?

8. 存儲過程 ?

create procedure 存儲過程名 [@參數名[=default][=output]] ??as ??begin ???功能語句塊 ??end

9. 游標 ?

(1) 聲明游標 ?declare cursor_name cursor [forward_only(默認)|scroll] [static|keyset|dynamic(默認,每次讀取都更新表)] for 查詢語句.

(2) 打開游標 ?open 游標名稱 ? ?

(3) 讀取游標

fetch [next|prior|first|last] from into @局部變量名?????

?  (1) current of 游標名 表示當前游標 ??

?  (2) @@fetch_status=0 表示讀取成功

(4) 關閉游標 ?close 游標名稱

(5) 刪除游標 ?DealLocal 游標名稱

10. 事務 ?Begin TransAction ?commit ?TransAction ?rollBack TransAction

11. 部分全局變量參數

?@@ERROR???最后一個T-SQL錯誤的錯誤號. ?

?@@INENTITY??最后一次插入的標識值.??

?@@LANGUAGE??當前使用的語言的名稱.??

?@@MAX_CONNECTIONS?可以創建的同時連接的最大數目. ?

?@@ROWCOUNT??受上一個SQL語句影響的行數.

?@@TRANSCOUNT??當前連接打開的事務數.

?@@VERSION??SQL Server的版本信息.

12. 相關設置 ?

(1)?set nocount on/off??打開、關閉提示影響的行數.

(2)?set xact_abort on/off??打開、關閉事務.

(3)?set implicit_transactions on/off將連接設置為隱式事務模式,如果設置為0ff,則使連接恢復為自動提交事務模式;如果設置為on,用戶每次必須顯示提交或回滾,否則當用戶斷開連接時,事務及其所包含的所有數據更改將回滾.

?

?

?

?

?

?

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/Jonish/p/3272308.html

總結

以上是生活随笔為你收集整理的T-SQL基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。