項目任務(wù)TSQL語言簡介_第1頁
項目任務(wù)TSQL語言簡介_第2頁
項目任務(wù)TSQL語言簡介_第3頁
項目任務(wù)TSQL語言簡介_第4頁
項目任務(wù)TSQL語言簡介_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Transact-SQL語言簡介語言簡介1. Transact-SQL語言的特點語言的特點 2. SQL Server支持的數(shù)據(jù)類型支持的數(shù)據(jù)類型 3. SQL Server 2000中的運算符中的運算符 4. Transact-SQL變量變量 5.注釋符和標(biāo)識符注釋符和標(biāo)識符 任務(wù)任務(wù)4 4 Transact-SQL語言簡介語言簡介l SQLSQL(Structured Query LanguageStructured Query Language)語言是關(guān)系數(shù)據(jù)庫)語言是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,由于的標(biāo)準(zhǔn)語言,由于SQLSQL語言功能豐富,語言簡潔,因而倍語言功能豐富,語言簡潔,因而倍受用戶

2、及計算機工業(yè)界歡迎。自受用戶及計算機工業(yè)界歡迎。自SQLSQL成為國際標(biāo)準(zhǔn)后,各成為國際標(biāo)準(zhǔn)后,各個數(shù)據(jù)庫廠家紛紛推出各自的支持個數(shù)據(jù)庫廠家紛紛推出各自的支持SQLSQL的軟件或與的軟件或與SQLSQL的的接口軟件。接口軟件。lSQLSQL是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,其功能并不僅僅是查詢,言,其功能并不僅僅是查詢,SQLSQL語言是一個通用的、功語言是一個通用的、功能極強的關(guān)系數(shù)據(jù)庫語言。能極強的關(guān)系數(shù)據(jù)庫語言。 任務(wù)任務(wù)4 4 Transact-SQL語言簡介語言簡介l Transact-SQL Transact-SQL 是

3、是SQL Server 2000SQL Server 2000提供的查詢語言。使提供的查詢語言。使用用Transact-SQLTransact-SQL編寫應(yīng)用程序可以完成所有的數(shù)據(jù)庫管編寫應(yīng)用程序可以完成所有的數(shù)據(jù)庫管理工作。任何應(yīng)用程序,只要目的是向理工作。任何應(yīng)用程序,只要目的是向SQL Server 2000SQL Server 2000的數(shù)據(jù)庫管理系統(tǒng)發(fā)出命令以獲得數(shù)據(jù)庫管理系統(tǒng)的響的數(shù)據(jù)庫管理系統(tǒng)發(fā)出命令以獲得數(shù)據(jù)庫管理系統(tǒng)的響應(yīng),最終都必須體現(xiàn)為以應(yīng),最終都必須體現(xiàn)為以Transact-SQLTransact-SQL語句為表現(xiàn)形式語句為表現(xiàn)形式的指令。對用戶來說,的指令。對用戶來說

4、,Transact-SQLTransact-SQL是惟一可以和是惟一可以和SQL SQL Server 2000Server 2000的數(shù)據(jù)庫管理系統(tǒng)進行交互的語言。的數(shù)據(jù)庫管理系統(tǒng)進行交互的語言。 4.1 Transact-SQL語言的特點語言的特點 l盡管盡管SQL Server 2000SQL Server 2000提供了使用方便的圖形提供了使用方便的圖形化用戶界面,但各種功能的實現(xiàn)基礎(chǔ)是化用戶界面,但各種功能的實現(xiàn)基礎(chǔ)是Transact-SQLTransact-SQL語言,只有語言,只有Transact-SQLTransact-SQL語言語言可以直接和數(shù)據(jù)庫引擎進行交互??梢灾苯雍蛿?shù)據(jù)

5、庫引擎進行交互。Transact-Transact-SQLSQL語言是基于商業(yè)應(yīng)用的結(jié)構(gòu)化查詢語言,語言是基于商業(yè)應(yīng)用的結(jié)構(gòu)化查詢語言,是標(biāo)準(zhǔn)是標(biāo)準(zhǔn)SQLSQL語言的增強版本。語言的增強版本。4.1 Transact-SQL語言的特點語言的特點 由于由于Transact-SQLTransact-SQL語言直接來源于語言直接來源于SQLSQL語語言,因此它也具有言,因此它也具有SQLSQL語言的幾個特點。語言的幾個特點。1.1.一體化一體化 Transact-SQLTransact-SQL語言集數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言集數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言和附加語言元素為一體。語言、數(shù)據(jù)控

6、制語言和附加語言元素為一體。其中附加語言元素不是標(biāo)準(zhǔn)其中附加語言元素不是標(biāo)準(zhǔn)SQLSQL語言的內(nèi)容,語言的內(nèi)容,但是它增強了用戶對數(shù)據(jù)庫操作的靈活性和簡但是它增強了用戶對數(shù)據(jù)庫操作的靈活性和簡便性,從而增強了程序的功能。便性,從而增強了程序的功能。 4.1 Transact-SQL語言的特點語言的特點2.2.兩種使用方式,統(tǒng)一的語法結(jié)構(gòu)兩種使用方式,統(tǒng)一的語法結(jié)構(gòu) 兩種使用方式,即聯(lián)機交互式和嵌入高級語言的使兩種使用方式,即聯(lián)機交互式和嵌入高級語言的使用方式。統(tǒng)一的語法結(jié)構(gòu)使用方式。統(tǒng)一的語法結(jié)構(gòu)使Transact-SQLTransact-SQL語言可用于所語言可用于所有用戶的數(shù)據(jù)庫活動模型,

7、包括系統(tǒng)管理員、數(shù)據(jù)庫管有用戶的數(shù)據(jù)庫活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)管理人員以及許多其理員、應(yīng)用程序員、決策支持系統(tǒng)管理人員以及許多其他類型的終端用戶。他類型的終端用戶。 4.1 Transact-SQL語言的特點語言的特點3.3.高度非過程化高度非過程化 Transact-SQLTransact-SQL語言一次處理一個記錄,對數(shù)據(jù)提供語言一次處理一個記錄,對數(shù)據(jù)提供自動導(dǎo)航;允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,可操作自動導(dǎo)航;允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,可操作記錄集,而不是對單個記錄進行操作;所有的記錄集,而不是對單個記錄進行操作;所有的SQLSQL語句語句

8、接受集合作為輸入,返回集合作為輸出,并允許一條接受集合作為輸入,返回集合作為輸出,并允許一條SQLSQL語句的結(jié)果作為另一條語句的結(jié)果作為另一條SQLSQL語句的輸入。另外,語句的輸入。另外,Transact-SQLTransact-SQL語言不要求用戶指定對數(shù)據(jù)的存放方法,語言不要求用戶指定對數(shù)據(jù)的存放方法,所有的所有的Transact-SQLTransact-SQL語句使用查詢優(yōu)化器,用以指定數(shù)語句使用查詢優(yōu)化器,用以指定數(shù)據(jù)以最快速度存取的手段。據(jù)以最快速度存取的手段。 4.1 Transact-SQL語言的特點語言的特點4.4.類似于人的思維習(xí)慣,容易理解和掌握類似于人的思維習(xí)慣,容易

9、理解和掌握 SQLSQL語言的易學(xué)易用性,而語言的易學(xué)易用性,而Transact-SQLTransact-SQL語言是對語言是對SQLSQL語言的擴展,因此也是非常容易理解和掌握的。如語言的擴展,因此也是非常容易理解和掌握的。如果對果對SQLSQL語言比較了解,在學(xué)習(xí)和掌握語言比較了解,在學(xué)習(xí)和掌握Transact-SQLTransact-SQL語語言及其高級特性時就更游刃有余了。言及其高級特性時就更游刃有余了。 4.2 SQL Server4.2 SQL Server支持的數(shù)據(jù)類型支持的數(shù)據(jù)類型 SQL Server 2000SQL Server 2000提供許多實用的數(shù)據(jù)類型,并具提供許多

10、實用的數(shù)據(jù)類型,并具有定義用戶數(shù)據(jù)類型的功能。表有定義用戶數(shù)據(jù)類型的功能。表4-44-4中列出了中列出了SQL SQL Server 2000Server 2000提供的主要數(shù)據(jù)類型。提供的主要數(shù)據(jù)類型。 4.2 SQL Server4.2 SQL Server支持的數(shù)據(jù)類型支持的數(shù)據(jù)類型類型表示類型說明數(shù)值型數(shù)據(jù)Int全字長(四字節(jié))整數(shù),其中31 bits表示數(shù)據(jù),1位符號。取值范圍為-2147836482147483647Smallint半字長的整數(shù),取值范圍為-3276832767Tinyint只占一個字節(jié)的正數(shù),表示范圍為0255Real4字節(jié)長的浮點數(shù),最大精度為7位,取值范圍為3

11、.4E-383.4E+38Float(n)精度為n的浮點數(shù),其精度n的可以為115,若忽略n則精度為15。最多占用字節(jié)數(shù)為8,表示范圍為1.7E-3081.7E+308Decimal(p,q)十進制,共p位,q位小數(shù),可用211個字節(jié)存放138位精度的數(shù)值字符型數(shù)據(jù)CHAR(n)長度為n的定長字符串,最多可為255個字符VarCHAR(n)最大長度為n的變長字符串型數(shù)據(jù),最多可達255個字符日期、時間型數(shù)據(jù)Datetime日期時間型數(shù)據(jù),可存儲1/1/175312/31/9999之間的日期時間,缺省表示為MMDDYYYYhhmm AM/PMSmalldatetime日期時間型數(shù)據(jù),可表示1/1

12、/19006/6/2079時間特殊數(shù)據(jù)類型Binary(n)長度為n個字節(jié)的位模式(二進制數(shù)),輸入0F二進制數(shù)時,第一個值必須以0 x開頭Varbinary(n)最大長度為n個字節(jié)的變長位模式,輸入方法同binary相同文本和圖象數(shù)據(jù)類型Text文本數(shù)據(jù)類型Image圖像數(shù)據(jù)貨幣數(shù)據(jù)類型Money貨幣數(shù)據(jù),可存放15位整數(shù),4位小數(shù)的數(shù)值,占8個字節(jié)Smallmoney貨幣數(shù)據(jù),可存放6位整數(shù),4位小數(shù)的數(shù)值,占4個字節(jié)4.3 SQL Server 20004.3 SQL Server 2000中的運算符中的運算符 運算符是一種符號,用來指定要在一個或多個表達運算符是一種符號,用來指定要在一

13、個或多個表達式中執(zhí)行的操作。式中執(zhí)行的操作。Transact-SQLTransact-SQL的查詢語句中使用的運的查詢語句中使用的運算符,如表算符,如表4-54-5所示。所示。 4.3 SQL Server 20004.3 SQL Server 2000中的運算符中的運算符 類別符號算術(shù)運算符+(加),(減),*(乘),/(除),%(取余或模)比較運算符=(等于),(大于),=(大于等于或不小于),!(不小于),(不大于),(不等于),!=(不等于)范圍運算符BETWEENAND(在之間),NOT BETWEENAND(不在之間)子查詢運算符IN(在之中),NOT IN(不在之中),比較符AL

14、L(全部),比較符ANY(任一),比較符SOME(一些),EXIST(存在),NOT EXIST(不存在)字符串運算符+(連接),LIKE(匹配),NOT LIKE(不匹配)未知值運算符IS NULL(是空值),NOT IS NULL(不是空值)邏輯運算符NOT(非),AND(與),OR(或)組合運算符UNION(并),UNION ALL(并,允許重復(fù)的元組)4.4 Transact-SQL4.4 Transact-SQL變量變量 變量對于一種語言來說是必不可少的組成部分。變量對于一種語言來說是必不可少的組成部分。Transact-SQLTransact-SQL語言允許使用兩種變量:一種是用戶

15、自己定義的語言允許使用兩種變量:一種是用戶自己定義的局部變量局部變量(Local Variable)(Local Variable),另一種是系統(tǒng)提供的全局變量,另一種是系統(tǒng)提供的全局變量(Global Variable)(Global Variable)。 4.4 Transact-SQL4.4 Transact-SQL變量變量 1.1.局部變量局部變量 局部變量使用戶自己定義的變量,它的作用范圍僅在程序局部變量使用戶自己定義的變量,它的作用范圍僅在程序內(nèi)部。通常只能在一個批處理中或存儲過程中使用,用來存儲內(nèi)部。通常只能在一個批處理中或存儲過程中使用,用來存儲從表中查詢到的數(shù)據(jù),或當(dāng)作程序執(zhí)

16、行過程中暫存變量使用。從表中查詢到的數(shù)據(jù),或當(dāng)作程序執(zhí)行過程中暫存變量使用。2.2.全局變量全局變量 全局變量是全局變量是SQL Server 2000SQL Server 2000系統(tǒng)內(nèi)部使用的變量,起作系統(tǒng)內(nèi)部使用的變量,起作用范圍并不局限于某一程序,而是任何程序均可隨時調(diào)用。全用范圍并不局限于某一程序,而是任何程序均可隨時調(diào)用。全局變量通常存儲一些局變量通常存儲一些SQL Server 2000SQL Server 2000的配置設(shè)置值和效能統(tǒng)的配置設(shè)置值和效能統(tǒng)計數(shù)據(jù)。用戶可在程序中用全局變量來測試系統(tǒng)的設(shè)定值或者計數(shù)據(jù)。用戶可在程序中用全局變量來測試系統(tǒng)的設(shè)定值或者Transact_

17、SQLTransact_SQL命令執(zhí)行后的狀態(tài)值。命令執(zhí)行后的狀態(tài)值。 4.5 4.5 注釋符和標(biāo)識符注釋符和標(biāo)識符 1.1.注釋符注釋符 程序中的注釋可以增加程序可讀性。在程序中的注釋可以增加程序可讀性。在Transact-Transact-SQLSQL語言中可使用兩種注釋符:行注釋和塊注釋。語言中可使用兩種注釋符:行注釋和塊注釋。行注釋符為行注釋符為“-”-”,這是,這是ANSIANSI標(biāo)準(zhǔn)的注釋符,用于單行標(biāo)準(zhǔn)的注釋符,用于單行注釋。注釋。塊注釋符為塊注釋符為“/ /* * */”/”,“/ /* *”用于注釋文字的開頭,用于注釋文字的開頭,“* */”/”用于注釋文字的末尾。塊注釋符可

18、在程序中標(biāo)識用于注釋文字的末尾。塊注釋符可在程序中標(biāo)識多行文字為注釋。多行文字為注釋。 4.5 4.5 注釋符和標(biāo)識符注釋符和標(biāo)識符 2.SQL Server2.SQL Server的標(biāo)識符的標(biāo)識符 SQL ServerSQL Server的所有對象,包括服務(wù)器、數(shù)據(jù)庫以及數(shù)據(jù)庫對象,如的所有對象,包括服務(wù)器、數(shù)據(jù)庫以及數(shù)據(jù)庫對象,如表、視圖、列、索引、觸發(fā)器、存儲過程、規(guī)則、默認(rèn)值和約束等都可表、視圖、列、索引、觸發(fā)器、存儲過程、規(guī)則、默認(rèn)值和約束等都可以有一個標(biāo)識符。對絕大多數(shù)對象來說,標(biāo)識符是必不可少的,但對某以有一個標(biāo)識符。對絕大多數(shù)對象來說,標(biāo)識符是必不可少的,但對某些對象如約束來說

19、,是否規(guī)定標(biāo)識符是可選的。對象的標(biāo)識符一般在創(chuàng)些對象如約束來說,是否規(guī)定標(biāo)識符是可選的。對象的標(biāo)識符一般在創(chuàng)建對象時定義,作為引用對象的工具使用。建對象時定義,作為引用對象的工具使用。(1) (1) 標(biāo)識符的分類標(biāo)識符的分類 在在SQL ServerSQL Server中標(biāo)識符共有兩種類型中標(biāo)識符共有兩種類型: :一種是規(guī)則標(biāo)識符一種是規(guī)則標(biāo)識符(Regular (Regular identifer)identifer),一種是界定標(biāo)識符,一種是界定標(biāo)識符(Delimited identifer)(Delimited identifer)。其中,規(guī)則標(biāo)識符嚴(yán)格遵守標(biāo)識符的有關(guān)格式的規(guī)定,所以在

20、其中,規(guī)則標(biāo)識符嚴(yán)格遵守標(biāo)識符的有關(guān)格式的規(guī)定,所以在Transact_SQLTransact_SQL中凡是規(guī)則運算符都不必使用定界符。對于不符合標(biāo)識符中凡是規(guī)則運算符都不必使用定界符。對于不符合標(biāo)識符格式的標(biāo)識符要使用界定符格式的標(biāo)識符要使用界定符或或。4.5 4.5 注釋符和標(biāo)識符注釋符和標(biāo)識符 2.SQL Server2.SQL Server的標(biāo)識符的標(biāo)識符(2) (2) 標(biāo)識符格式標(biāo)識符格式1 1)標(biāo)識符必須是統(tǒng)一碼)標(biāo)識符必須是統(tǒng)一碼(Unicode)2.0(Unicode)2.0標(biāo)準(zhǔn)中規(guī)定的字符,包標(biāo)準(zhǔn)中規(guī)定的字符,包括括2626個英文字母個英文字母a-za-z和和A-ZA-Z,以

21、及其他一些語言字符,如漢字。,以及其他一些語言字符,如漢字。2 2)標(biāo)識符后的字符可以是)標(biāo)識符后的字符可以是“_”_”、“”、“#”#”、“$”$”及數(shù)及數(shù)字。字。3 3)標(biāo)識符不允許是)標(biāo)識符不允許是Transact-SQLTransact-SQL的保留字。的保留字。4 4)標(biāo)識符內(nèi)不允許有空格和特殊字符。)標(biāo)識符內(nèi)不允許有空格和特殊字符。5 5)標(biāo)識符不區(qū)分大小寫。)標(biāo)識符不區(qū)分大小寫。 4.5 4.5 注釋符和標(biāo)識符注釋符和標(biāo)識符 2.SQL Server2.SQL Server的標(biāo)識符的標(biāo)識符(2) (2) 標(biāo)識符格式標(biāo)識符格式 另外,某些以特殊符號開頭的標(biāo)識符在另外,某些以特殊符號開頭的標(biāo)識符在SQL ServerSQL Server中具有中具有特定的含義。如以特定的含義。如以“”開頭的標(biāo)識符表示這是一個局部變量開頭的標(biāo)識符表示這是一個局部變量或是一個函數(shù)的參

溫馨提示

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

評論

0/150

提交評論