TSQL編程基礎_第1頁
TSQL編程基礎_第2頁
TSQL編程基礎_第3頁
TSQL編程基礎_第4頁
TSQL編程基礎_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第8章章 T-SQL編程基礎編程基礎主講人:董瑞芝復習:設計數據庫設計數據庫 收集、分析數據收集、分析數據建立概念模型建立概念模型(ER圖圖)建立邏輯模建立邏輯模型型(關系模式關系模式) 關系規范化:關系規范化:1NF 2NF 3NF數據庫的操作數據庫的操作 創建、修改、刪除數據庫創建、修改、刪除數據庫數據表的操作數據表的操作 創建、修改、刪除數據表、添加表約束創建、修改、刪除數據表、添加表約束數據查詢數據查詢 基本查詢、匯總查詢、子查詢、連接查詢基本查詢、匯總查詢、子查詢、連接查詢 視圖的使用視圖的使用數據索引數據索引案例-乘車卡消費問題你的乘車卡上有你的乘車卡上有50.3元人民幣,當余額

2、元人民幣,當余額低于低于5元時,顯示友好提示信息元時,顯示友好提示信息“金額低于金額低于5元元,請盡快充請盡快充值值!”,當余額低于,當余額低于0.9元時,顯元時,顯示友情提示示友情提示 “余額不足,請投幣!余額不足,請投幣!”。該案例中包含了變量及計算等問題,那么如何實現呢?DECLARE i INT, je DECIMAL(5,1)SET i=0SET je=50.3WHILE (je=0.9 )BEGIN SET je=je-0.9 SET i=i+1 IF (je5) PRINT 金額低于金額低于5元元,請允值請允值! ENDSELECT je AS 余額余額,i AS 消費次數消費次

3、數,i*0.9 AS 消費額消費額PRINT 金額不足金額不足,請投幣請投幣!本章要點 變量變量 表達式表達式 語句語句認知目標: 了解標識符的命名規則 掌握運算符的使用方法 了解T-SQL語言語句塊、條件語句、循環語句的基本格式能力目標: 掌握變量的聲明、賦值和顯示方法(重點) 掌握系統內置函數的使用方法(難點) 能運用各種流程控制語句正確編寫SQL程序(重點、難點)第8章 T-SQL編程基礎學習目標一、標識符 標識符的含義 是指用戶定義的變量名、函數名、存儲過程名、庫名、表名、索引名、視圖名等各種名稱。 命名規則(P169) 標識符的長度可以為1-128個字符 標識符的第一個字符必須為字母

4、、下劃線、#以為首的標識符表示1個局部變量。對于表或存儲過程,名稱前包含一個#時表示局部臨時對象,而兩個#(“#”)則表示為全局臨時對象。 標識符內不允許有空格,也不允許為SQL中的關鍵字 一、標識符課堂練習1:判斷下列哪些標識符是合法的?哪些是不合法的?_AbC X yza1 where#proc #xs7table as 1、常量常量的含義 在運行過程中保持不變的量,是表示特定數據值的符號課堂練習2:判斷下列常量是什么類型常量?1894 2.5E2 1.52$12 -$23.5123 w34 2006-04-24二、二、T-SQL表達式表達式2、變量 局部變量: 用戶自己定義的變量,用于在

5、語句之間傳遞數據 局部變量名以符號開頭 使用時,必須先聲明 全局變量(了解): 是系統定義的變量,用于存儲系統的特定信息 用戶不能建立全局變量,也不能修改其值 全局變量名以符號開頭2、變量 局部變量的聲明語法格式declare 變量名 數據類型,n 實例1:分別定義一個整型變量和兩個字符型變量。declare name varchar(10) declare age smallint , msg varchar(50)注意:局部變量未被賦值之前,其值為null。2、變量 局部變量的賦值語法格式:SET 變量=表達式SELECT 變量=表達式 ,n說明: select語句不能同時完成賦值和查詢兩

6、種操作實例2:給age、name、msg賦值。SELECT name=劉偉,age=21SET msg=歡迎使用SQL Server 20052、變量 局部變量的顯示語法格式為:PRINT 表達式SELECT 表達式 ,n 實例3:顯示age、name、msg的值。PRINT namePRINT ageSELECT name as 姓名, 年齡=age, msg 歡迎詞必須是char、varchar;或可以隱式地轉化成字符型的常量或變量表達式。注意與賦值的區別。3、函數字符串函數 求串長len( )、轉換為大寫/小寫字母upper() / lower()數學函數 Sum( )、avg( )、m

7、ax( )、min( )、count( )日期和時間函數 求當前系統日期:Getdate( ) 數據類型轉換函數 轉換為字符型數據:Convert( )、cast( )全局變量函數(了解P173,表8-2) 3、函數 常用函數應用實例4:已知msg的值為“歡迎使用SQL Server 2005”,顯示該字串的長度。課堂練習3:顯示kc表中課程號為“107”的課程名稱的長度。udeclaresmallintuselectlenfromwhere107uselectasudeclarevarchar(50) - -聲明變量聲明變量uselect - -給變量賦值給變量賦值uselectas- -顯

8、示變量的值顯示變量的值實例實例5:統計:統計xsqk表中的學生人數,要求顯示表中的學生人數,要求顯示信息為信息為“學生表中共有學生表中共有 XX 名學生名學生”。 use xscj -將將xscj庫切換為庫切換為當前庫當前庫 declare rs smallint -聲明變量聲明變量 select rs=count(*) from xsqk -給變量賦值給變量賦值 print -顯示顯示1個空行個空行 print 學生表中共有學生表中共有 + convert(varchar(3),rs) + 名學生名學生將數值型將數值型rs的值轉換為的值轉換為字符型的值,以便與其它字符型的值,以便與其它字符進

9、行串聯運算。字符進行串聯運算。將字符串將字符串進行聯接進行聯接4、運算符運算符算術運算符:算術運算符:+ - * / %位運算符:位運算符:& (按位與按位與)、| (按位或按位或)、 (按位互斥按位互斥)、(求反)(求反)比較運算符:比較運算符:= = = != !邏輯運算符:邏輯運算符: And、or、not、between 、in 、like 、exists、all、any、some字符串連接運算符:字符串連接運算符: +賦值運算符:賦值運算符:= 4、運算符 優先級 三、T-SQL語句 批處理的含義 批處理是一條或多條T-SQL語句的集合,從應用程序一次性發送到SQL Serv

10、er服務器,并由服務器編譯成一個可執行單元(執行計劃) 。1、使用批處理、使用批處理2、流程控制語句 語句塊:語句塊:beginend 條件語句:條件語句:ifelse、if exists 循環語句:循環語句:while、break、continue 等待語句:等待語句:waitfor 返回語句:返回語句:return 轉移語句:轉移語句:goto(了解)(了解)(1)BEGINEND語句 語句格式: BEGIN 語句 | 語句塊 END 作用 可以將多條T-SQL語句封裝起來,構成一個獨立的語句塊。 BEGIN和END必須成對出現。語句塊的開始語句塊的結束(2) IFELSE語句 語法格式:

11、IF 邏輯表達式 語句 | 語句塊 ELSE 語句 | 語句塊 作用: 按條件控制程序的執行。 當條件滿足時,則在執行條件之后的T-SQL 語句。否則,就執行else后的T-SQL語句(若ELSE部分存在)。例1:求兩個整數的最大數。DECLARE max INT, a INT, b INTSELECT a=32,b=56IF (ab) SELECT max=aELSE SELECT max=bSELECT max AS 最大數(3)while、break和continue語句 語法格式: WHILE 邏輯表達式 語句 | 語句組 BREAK 語句 | 語句組 CONTINUE 說明: Bre

12、ak用于退出最內層的while循環。 Continue用于重新開始一次while循環。實例實例2:計算:計算1到到100中奇數的和,要求顯示為中奇數的和,要求顯示為“奇數奇數和為:和為:XX”。 declare i int, sum int select i = 1, sum = 0 while i =0.9 )BEGIN SET je=je-0.9 SET i=i+1 IF (je5) PRINT 金額低于元金額低于元,請允值請允值! ENDSELECT je AS 余額余額,i AS 消費次數消費次數,i*0.9 AS 消費額消費額PRINT 金額不足金額不足,請投幣請投幣!DECLARE

13、 i intSELECT i = 1WHILE i 500 BEGIN IF i %3=0 OR i %7=0 PRINT i SET i = i +1END課堂練習課堂練習2:計算:計算500以內能被以內能被3或或7整除的數。整除的數。367912141518212427495497498(4)waitfor語句 語法格式: WAITFOR DELAY 時間 | TIME 時間 作用: 指定其后的語句在某一時刻或在一段時間間隔后繼續執行。 說明: DELAY:等待一個指定的時間間隔時間間隔,最長24小時 TIME: 等待一個指定的時間點時間點(即從某個時刻開始執行一個操作)。 時間:指定等待

14、的時間。時間必須為datetime類型,不能包括日期。實例3:分析下列語句的功能。print 執行waitfor之前,秒數為: + cast(datepart(ss,getdate() as varchar(5)waitfor delay 00:00:06print 執行waitfor之后,秒數為: + cast(datepart(ss,getdate() as varchar(5)執行執行waitfor之前之前,秒數為秒數為: 9執行執行waitfor之后之后,秒數為秒數為: 15課堂練習4:延時6秒后查詢xsqk的信息;到下午4點15分30秒查詢xs_kc表。 waitfor delay

15、00:00:06 use xscj select * from xsqk go waitfor time 16:15:30 use xscj select * from xs_kc(5)RETURN語句 語法格式: RETURN 整型表達式 作用: 無條件地從過程、批或語句塊中退出,在return之后的其他語句不會被執行。 說明: Return可以在過程、批和語句塊中的任何位置使用。 Return與break很相似,不同的是return可以返回一個整數。實例4:分析下列語句的功能。 use xscj if not exists(select * from xsqk where 姓名=田力) begin print 沒有找到! return end print 已找到! return本課小結u 標識符:u 常量:u 變量:全局變量和局部變量u T-SQL系統內置函數u T-SQL的運算符本課小結u 流程控制語句概述u beginend語句u ifelse、if exists語句u while、break和continue語句u waitfor語句u return語句課余作業課外練習

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論