項(xiàng)目任務(wù)TSQL語言簡(jiǎn)介_第1頁
項(xiàng)目任務(wù)TSQL語言簡(jiǎn)介_第2頁
項(xiàng)目任務(wù)TSQL語言簡(jiǎn)介_第3頁
項(xiàng)目任務(wù)TSQL語言簡(jiǎn)介_第4頁
項(xiàng)目任務(wù)TSQL語言簡(jiǎn)介_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、庫(kù)引擎進(jìn)行交互。Transact-Transact-SQLSQL語言是基于商業(yè)應(yīng)用的結(jié)構(gòu)化查詢語言,語言是基于商業(yè)應(yīng)用的結(jié)構(gòu)化查詢語言,是標(biāo)準(zhǔn)是標(biāo)準(zhǔn)SQLSQL語言的增強(qiáng)版本。語言的增強(qiáng)版本。4.1 Transact-SQL語言的特點(diǎn)語言的特點(diǎn) 由于由于Transact-SQLTransact-SQL語言直接來源于語言直接來源于SQLSQL語語言,因此它也具有言,因此它也具有SQLSQL語言的幾個(gè)特點(diǎn)。語言的幾個(gè)特點(diǎn)。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)容,但是它增強(qiáng)了用戶對(duì)數(shù)據(jù)庫(kù)操作的靈活性和簡(jiǎn)但是它增強(qiáng)了用戶對(duì)數(shù)據(jù)庫(kù)操作的靈活性和簡(jiǎn)便性,從而增強(qiáng)了程序的功能。便性,從而增強(qiáng)了程序的功能。 4.1 Transact-SQL語言的特點(diǎn)語言的特點(diǎn)2.2.兩種使用方式,統(tǒng)一的語法結(jié)構(gòu)兩種使用方式,統(tǒng)一的語法結(jié)構(gòu) 兩種使用方式,即聯(lián)機(jī)交互式和嵌入高級(jí)語言的使兩種使用方式,即聯(lián)機(jī)交互式和嵌入高級(jí)語言的使用方式。統(tǒng)一的語法結(jié)構(gòu)使用方式。統(tǒng)一的語法結(jié)構(gòu)使Transact-SQLTransact-SQL語言可用于所語言可用于所有用戶的數(shù)據(jù)庫(kù)活動(dòng)模型,

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

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

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

10、實(shí)用的數(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全字長(zhǎng)(四字節(jié))整數(shù),其中31 bits表示數(shù)據(jù),1位符號(hào)。取值范圍為-2147836482147483647Smallint半字長(zhǎng)的整數(shù),取值范圍為-3276832767Tinyint只占一個(gè)字節(jié)的正數(shù),表示范圍為0255Real4字節(jié)長(zhǎng)的浮點(diǎn)數(shù),最大精度為7位,取值范圍為3

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

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

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

14、L(全部),比較符ANY(任一),比較符SOME(一些),EXIST(存在),NOT EXIST(不存在)字符串運(yùn)算符+(連接),LIKE(匹配),NOT LIKE(不匹配)未知值運(yùn)算符IS NULL(是空值),NOT IS NULL(不是空值)邏輯運(yùn)算符NOT(非),AND(與),OR(或)組合運(yùn)算符UNION(并),UNION ALL(并,允許重復(fù)的元組)4.4 Transact-SQL4.4 Transact-SQL變量變量 變量對(duì)于一種語言來說是必不可少的組成部分。變量對(duì)于一種語言來說是必不可少的組成部分。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)部。通常只能在一個(gè)批處理中或存儲(chǔ)過程中使用,用來存儲(chǔ)內(nèi)部。通常只能在一個(gè)批處理中或存儲(chǔ)過程中使用,用來存儲(chǔ)從表中查詢到的數(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)部使用的變量,起作用范圍并不局限于某一程序,而是任何程序均可隨時(shí)調(diào)用。全用范圍并不局限于某一程序,而是任何程序均可隨時(shí)調(diào)用。全局變量通常存儲(chǔ)一些局變量通常存儲(chǔ)一些SQL Server 2000SQL Server 2000的配置設(shè)置值和效能統(tǒng)的配置設(shè)置值和效能統(tǒng)計(jì)數(shù)據(jù)。用戶可在程序中用全局變量來測(cè)試系統(tǒng)的設(shè)定值或者計(jì)數(shù)據(jù)。用戶可在程序中用全局變量來測(cè)試系統(tǒng)的設(shè)定值或者Transact_

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論