2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩110頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第7章 SQL Server 2005 數(shù)據(jù)庫(kù)管理系統(tǒng),7.1 SQL Server 2005系統(tǒng)概述,本節(jié)要點(diǎn) 本章主要介紹:SQL Server 2005的概況、特性、新增強(qiáng)功能;SQL Server 2005安裝的軟硬件需求及安裝過(guò)程;SQL Server 2005的主要組件及其初步使用;SQL的編程等。,本節(jié)目錄,7.1.1 SQL Server 2005系統(tǒng)簡(jiǎn)介 7.1.2 安裝 SQL Se

2、rver 2005 7.1.3 SQL Server 2005的主要組件及其初步應(yīng)用,7.1.1 SQL Server 2005系統(tǒng)簡(jiǎn)介,1 概況 2 特性,返回本節(jié)首頁(yè),1 概況,1、什么是 SQL Server 2005 SQL Server 2005是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能(Business Intelligence,BI)工具,提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQL Server 2005數(shù)據(jù)庫(kù)引擎為關(guān)系型數(shù)

3、據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。,2、SQL Server 2005 產(chǎn)品組件功能概述 SQL Server 2005 是用于大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用的數(shù)據(jù)庫(kù)和數(shù)據(jù)分析平臺(tái)。其組成部分及功能特點(diǎn)表2-1。,1 概況,3、SQL Server 2005有六個(gè)版本: 1)SQL Server學(xué)習(xí)版或稱精簡(jiǎn)版(即SQL Ser

4、ver 2005 Express Edition) 2)SQL Server工作組版(即SQL Server 2005 Workgroup Edition) 它是具備可靠的,強(qiáng)健的和易于管理的性能的入門(mén)級(jí)數(shù)據(jù)庫(kù)的理想選擇。 3)SQL Server開(kāi)發(fā)版(即SQL Server 2005 Developer Edition,功能同SQL Server企業(yè)版) 它是獨(dú)立軟件供應(yīng)商,顧問(wèn),系統(tǒng)集成商,解決方案供應(yīng)商和開(kāi)發(fā)商的理想選擇。

5、 4)SQL Server標(biāo)準(zhǔn)版(即SQL Server 2005 Standard Edition) 它是需要完整數(shù)據(jù)管理和分析平臺(tái)的中小型企業(yè)的理想選擇。 5)SQL Server企業(yè)版(即SQL Server 2005 Enterprise Edition) 它是大型企業(yè)和最復(fù)雜的數(shù)據(jù)需求的理想選擇。 6)SQL Server移動(dòng)版(即SQL Server 2005 Mobile Edition),1 概況,SQL Se

6、rver 2005每種許可證方式的零售價(jià)格,1 概況,7.1.2 安裝 SQL Server 2005,1 SQL Server 2005的安裝版本的確定 2 SQL Server 2005 的安裝組件的確定3 SQL Server 2005 系統(tǒng)要求 4 準(zhǔn)備安裝 SQL Server 2005 5 安裝SQL Server 2005 6 如何驗(yàn)證 SQL Server 2005 服務(wù)的安裝成功7 升級(jí)到 SQL Serv

7、er 2005 8 如何卸載 SQL Server 2005 的現(xiàn)有實(shí)例,7.1.2 安裝 SQL Server 2005,SQL Server 2005安裝向?qū)Щ贛icrosoft Windows安裝程序,并且為所有SQL Server 2005組件的安裝提供單一的功能樹(shù),能完成如下組件的安裝任務(wù):SQL Server Database EngineAnalysis ServicesReporting ServicesNo

8、tification ServicesIntegration Services管理工具、文檔和示例等。,1 SQL Server 2005的安裝版本的確定,根據(jù)應(yīng)用程序的需要,安裝要求可能有很大不同。SQL Server 2005的不同版本能夠滿足企業(yè)和個(gè)人獨(dú)特的性能、運(yùn)行時(shí)以及價(jià)格要求。需要安裝哪些SQL Server 2005組件也要根據(jù)企業(yè)或個(gè)人的需求而定。,2 SQL Server 2005 的安裝組件的確定,使用SQL S

9、erver安裝向?qū)У摹肮δ苓x擇”頁(yè)選擇SQL Server 2005安裝中要包括的組件。根據(jù)下面諸表的說(shuō)明確定滿足需要的功能集。,表7-9 SQL Server 2005服務(wù)器組件及其功能,表7-10 SQL Server 2005管理工具及其功能,4 SQL Server 2005 系統(tǒng)要求,SQL Server 2005(32位)系統(tǒng)最低要求見(jiàn)表7-11:,安裝SQL Server 2005,為了成功安裝SQL Server,在安裝

10、計(jì)算機(jī)上需要下列軟件組件:1).NET Framework 2.0;2)SQL Server 本機(jī)客戶端;3)SQL Server 2005安裝程序支持文件。,安裝SQL Server 2005,,,圖7-1 SQL Server 2005安裝盤(pán)目錄 圖7-2 SQL Server 2005安裝開(kāi)始屏幕,安裝SQL Server 2005,返回本節(jié)首頁(yè),安裝將至少經(jīng)歷22個(gè)步驟,詳細(xì)過(guò)程省略,希望能

11、親自安裝體驗(yàn)。下面是18步時(shí)的情況。 18、在“準(zhǔn)備安裝”頁(yè)上(如圖7-11),查看要安裝的 SQL Server 功能和組件的摘要。若要繼續(xù)安裝,請(qǐng)單擊“安裝”。,,,圖7-11 準(zhǔn)備安裝 圖7-12 安裝進(jìn)行中,安裝SQL Server 2005,19、在“安裝進(jìn)度”頁(yè)上(如圖7-12),可以在安裝過(guò)程中監(jiān)視安裝進(jìn)度。若要在安裝期間查看組件的日志文件,請(qǐng)?jiān)凇鞍惭b進(jìn)度

12、”頁(yè)上單擊產(chǎn)品或狀態(tài)名稱。 20、在“完成Microsoft SQL Server安裝向?qū)А表?yè)上,可以通過(guò)單擊此頁(yè)上提供的鏈接查看安裝摘要日志。若要退出SQL Server安裝向?qū)?,?qǐng)單擊“完成”。 21、如果得到重新啟動(dòng)計(jì)算機(jī)的指示,請(qǐng)立即進(jìn)行此操作。完成安裝后,閱讀來(lái)自安裝程序的消息是很重要的。如果未能重新啟動(dòng)計(jì)算機(jī),可能會(huì)導(dǎo)致以后運(yùn)行安裝程序失敗。 22、后續(xù)步驟,安裝程序完成 SQL Server 2005 的

13、安裝后,可使用圖形工具和命令提示實(shí)用工具進(jìn)一步配置 SQL Server。為了減少系統(tǒng)的可攻擊外圍應(yīng)用,SQL Server 2005 有選擇地安裝并激活密鑰服務(wù)和功能。在新安裝軟件的默認(rèn)配置中,許多功能被禁用。,7.1.3 SQL Server 2005的主要組件及其初步應(yīng)用,1 認(rèn)識(shí)安裝后的SQL Server 2005 2 SQL Server Management Studio(SQL Server 集成管理器,SSMS)

14、3 SQLCMD 實(shí)用工具教程 4 SQL Server配置管理器5 SQL Server 2005外圍應(yīng)用配置器 6 SQL Server Profiler(事件探查器) 7 數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)8 SQL Server聯(lián)機(jī)叢書(shū),1 認(rèn)識(shí)安裝后的SQL Server 2005,,圖7-13 安裝后SQL Server 2005程序菜單情況,SQL Server 2005默認(rèn)安裝在C盤(pán)的“\Program Files”目錄下,

15、其目錄布局類似如下圖7-14所示:,圖7-14 SQL Server 2005安裝后目錄文件布局情況 SQL Server 2005包括一組完整的圖形工具和命令行實(shí)用工具,有助于用戶、程序員和管理員提高工作效率。下面就SQL Server 2005主要組件及其使用作一介紹。,1 認(rèn)識(shí)安裝后的SQL Server 2005,2 SQL Server 集成管理器,SQL Server Management Studio(SQL Serv

16、er 集成管理器,SSMS),SQL Server Management Studio的基本學(xué)習(xí)使用請(qǐng)參見(jiàn)如下WORD文檔:,3 SQLCMD 實(shí)用工具教程,您可以使用sqlcmd實(shí)用工具(Microsoft Win32命令提示實(shí)用工具)來(lái)運(yùn)行特殊的 T-SQL 語(yǔ)句和腳本。若要以交互方式使用sqlcmd,或要生成可使用sqlcmd來(lái)運(yùn)行的腳本文件,則需要了解T-SQL。通常以下列方式使用sqlcmd實(shí)用工具。 在sqlcmd環(huán)境中

17、,以交互的方式輸入T-SQL語(yǔ)句,輸入方式與在命令提示符下輸入的方式相同。命令提示符窗口中會(huì)顯示結(jié)果(選擇其它方式除外)。,3 SQLCMD 實(shí)用工具教程,SQLCMD運(yùn)行界面圖,4 SQL Server配置管理器,SQL Server 配置管理器管理與 SQL Server 2005 相關(guān)的服務(wù)。盡管其中許多任務(wù)可以使用 Windows 服務(wù)對(duì)話框來(lái)完成,但值得注意的是 SQL Server 配置管理器還可以對(duì)其管理的服務(wù)執(zhí)行更多的

18、操作(例如,在服務(wù)帳戶更改后應(yīng)用正確的權(quán)限)。使用 SQL Server 配置管理器可以完成下列服務(wù)任務(wù): 1)啟動(dòng)、停止和暫停服務(wù);2)將服務(wù)配置為自動(dòng)啟動(dòng)或手動(dòng)啟動(dòng),禁用服務(wù),或者更改其它服務(wù)設(shè)置;3)更改 SQL Server 服務(wù)所使用的帳戶的密碼;4)使用跟蹤標(biāo)志(命令行參數(shù))啟動(dòng) SQL Server ;5)查看服務(wù)的屬性。,4 SQL Server配置管理器,先啟動(dòng)SQL Server 配置管理器,方法是:

19、“開(kāi)始”菜單→“所有程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server Configuration Manager”,SQL Server 配置管理器啟動(dòng)后界面如圖7-35。選中某服務(wù)后能通過(guò)菜單或工具或鼠標(biāo)右鍵彈出的快捷菜單實(shí)施操作。,圖7-35 SQL Server Configuration Manager主界面,5 SQL Server 2005外圍應(yīng)用配置器,使用 SQL Se

20、rver 外圍應(yīng)用配置器,可以啟用、禁用、開(kāi)始或停止 SQL Server 2005 安裝的一些功能、服務(wù)和遠(yuǎn)程連接。可以在本地和遠(yuǎn)程服務(wù)器中使用 SQL Server 外圍應(yīng)用配置器。 SQL Server 外圍應(yīng)用配置器使用Window Management Instrumentation (WMI) 查看和更改服務(wù)器設(shè)置。WMI 提供了一種統(tǒng)一的方式,用于與管理配置SQL Server的注冊(cè)表操作的 API 調(diào)用進(jìn)行連接。 可

21、通過(guò) SQL Server 開(kāi)始菜單使用 SQL Server 外圍應(yīng)用配置器:在“開(kāi)始”菜單中,依次指向“所有程序”、Microsoft SQL Server 2005 和“配置工具”,再單擊“SQL Server 外圍應(yīng)用配置器”來(lái)啟動(dòng)之。,返回本節(jié)首頁(yè),5 SQL Server 2005外圍應(yīng)用配置器,,,圖7-37 SQL Server 2005外圍應(yīng)用配置器界面 圖7-38 功能的外圍應(yīng)用配置器的配置,6

22、SQL Server Profiler(事件探查器),SQL Server Profiler 是一個(gè)功能豐富的界面,用于創(chuàng)建和管理跟蹤,并分析和重播跟蹤結(jié)果。對(duì)SQL Server Profiler 的使用取決于您出于何種目的監(jiān)視SQL Server Database Engine 實(shí)例。例如,如果您正處于生產(chǎn)周期的開(kāi)發(fā)階段,則您會(huì)更關(guān)心如何盡可能地獲取所有的性能詳細(xì)信息,而不會(huì)過(guò)于關(guān)心跟蹤多個(gè)事件會(huì)造成多大的開(kāi)銷。相反,如果您正在監(jiān)視

23、生產(chǎn)服務(wù)器,則會(huì)希望跟蹤更加集中,并盡可能占用較少的時(shí)間,以便盡可能地減輕服務(wù)器的跟蹤負(fù)載。,返回本節(jié)首頁(yè),6 SQL Server Profiler(事件探查器),,圖7-39 事件跟蹤中,7 數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)(Database Engine Tuning Advisor),數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)是 SQL Server 2005 中的新工具,使用該工具可以優(yōu)化數(shù)據(jù)庫(kù),提高查詢處理的性能。數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)檢查指定數(shù)據(jù)庫(kù)中處理查詢的方

24、式,然后建議如何通過(guò)修改物理設(shè)計(jì)結(jié)構(gòu)(例如索引、索引視圖和分區(qū))來(lái)改善查詢處理性能。 它取代了SQL Server 2000中的索引優(yōu)化向?qū)?,并提供了許多新增功能。例如,數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)提供兩個(gè)用戶界面:圖形用戶界面(GUI)和dta命令提示實(shí)用工具。使用 GUI 可以方便快捷地查看優(yōu)化會(huì)話結(jié)果,而使用dta實(shí)用工具則可以輕松地將數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)功能并入腳本中,從而實(shí)現(xiàn)自動(dòng)優(yōu)化。此外,數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)可以接受XML輸入,該輸入可

25、對(duì)優(yōu)化過(guò)程進(jìn)行更多控制。,7 數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)(Database Engine Tuning Advisor),,,圖7-40 連接到數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn) 圖7-41 默認(rèn)新建會(huì)話,返回本節(jié)首頁(yè),8 SQL Server聯(lián)機(jī)叢書(shū),啟動(dòng)方法:“開(kāi)始”菜單→“所有程序”→“Microsoft SQL Server 2005”→“文檔和教程”→“SQL Server聯(lián)

26、機(jī)叢書(shū)”,SQL Server聯(lián)機(jī)叢書(shū)啟動(dòng)后界面如下圖7-42:,圖7-42 “SQL Server聯(lián)機(jī)叢書(shū)”幫助界面,上機(jī)實(shí)習(xí)1,實(shí)驗(yàn)?zāi)康?)了解SQL Server 2005的特點(diǎn)與新功能;2)安裝SQL Server 2005;3)學(xué)習(xí)使用SQL Server 2005的主要組件。實(shí)驗(yàn)內(nèi)容1.在自己的計(jì)算機(jī)上安裝SQL Server 2005的某個(gè)版本。2.驗(yàn)證SQL Server 2005 是否安裝成功?3.安裝SQL

27、 Server 2005的示例數(shù)據(jù)庫(kù)和示例。4. 操作并認(rèn)識(shí)SQL Server Management Studio窗體界面。5.請(qǐng)用幾種不同的方法實(shí)現(xiàn)注冊(cè)數(shù)據(jù)庫(kù)服務(wù)器與對(duì)象資源管理器的連接。,上機(jī)實(shí)習(xí)1,6. 把“已注冊(cè)服務(wù)器”或“對(duì)象資源管理器”組件窗口盡可能多地移到SQL Server Management Studio的不同區(qū)域,并最后恢復(fù)原來(lái)狀態(tài)。7. 利用菜單方式來(lái)控制“已注冊(cè)服務(wù)器”或“對(duì)象資源管理器”組件窗口的浮動(dòng)

28、、可停靠(已選中)、選項(xiàng)卡式文檔、自動(dòng)隱藏、隱藏等。8. 針對(duì)不同的數(shù)據(jù)庫(kù)建立新查詢編輯器文檔窗口。9. 配置文檔窗口以選項(xiàng)卡方式或MDI方式顯示。10. 顯示SQL Server 2005中對(duì)象的摘要頁(yè)。11. 在SQL Server 2005中脫機(jī)編寫(xiě)代碼,然后連接到不同SQL Server服務(wù)器的不同數(shù)據(jù)庫(kù)上,嘗試執(zhí)行編寫(xiě)的代碼。,上機(jī)實(shí)習(xí)1,12 . 使用模板創(chuàng)建數(shù)據(jù)庫(kù)JXGL,查詢編輯器連接到數(shù)據(jù)庫(kù)JXGL,對(duì)另一數(shù)據(jù)

29、庫(kù)的某表編寫(xiě)CREATE腳本,把產(chǎn)生的腳本復(fù)制到連接到數(shù)據(jù)庫(kù)JXGL的查詢編輯器中,并執(zhí)行腳本,完成在數(shù)據(jù)庫(kù)JXGL中創(chuàng)建新表的操作(相當(dāng)于復(fù)制了一個(gè)新表)。13. 利用SQLCMD執(zhí)行??!DIR命令。14 .認(rèn)識(shí)并操作SQL Server 配置管理器管理。15 .認(rèn)識(shí)并操作SQL Server 2005外圍應(yīng)用配置器。16 .認(rèn)識(shí)并操作SQL Server Profiler。17. 認(rèn)識(shí)并操作數(shù)據(jù)庫(kù)引擎優(yōu)化顧問(wèn)。18 .

30、 通過(guò)SQL Server 2005聯(lián)機(jī)叢書(shū)查閱它具有的新特點(diǎn)與新功能。,7.2 Transact-SQL,本節(jié)要點(diǎn) T-SQL語(yǔ)言用于管理SQL Server Database Engine實(shí)例,創(chuàng)建和管理數(shù)據(jù)庫(kù)對(duì)象,以及插入、檢索、修改和刪除數(shù)據(jù)。T-SQL 是對(duì)按照國(guó)際標(biāo)準(zhǔn)化組織(ISO)和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)發(fā)布的SQL標(biāo)準(zhǔn)定義的語(yǔ)言的擴(kuò)展。對(duì)用戶來(lái)說(shuō),T-SQL是可以與SQL Server數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行

31、交互的唯一語(yǔ)言。 本章主要簡(jiǎn)單介紹T-SQL語(yǔ)言。介紹該語(yǔ)言的基本概念、語(yǔ)法格式、運(yùn)算符和表達(dá)式以及基本語(yǔ)句和函數(shù)等的使用。,本章目錄,7.2.1 Transact-SQL語(yǔ)法約定 7.2.2 Transact-SQL的新增功能和增強(qiáng)功能 7.2.3 運(yùn)算符 7.2.4 數(shù)據(jù)類型 7.2.5 函數(shù) 7.2.6 Transact-SQL變量 7.2.7 表達(dá)式 7.2.8 控制流 7.2.9 保留關(guān)鍵字 7

32、.2.10 批處理 7.2.11 Transact-SQL游標(biāo),返回本節(jié)首頁(yè),7.2.1 Transact-SQL語(yǔ)法約定,T-SQL是使用SQL Server的核心,與SQL Server實(shí)例通信的所有應(yīng)用程序都通過(guò)將T-SQL語(yǔ)句發(fā)送到服務(wù)器運(yùn)行(不考慮應(yīng)用程序的用戶界面)來(lái)實(shí)現(xiàn)使用SQL Server及其數(shù)據(jù)的,應(yīng)該說(shuō)認(rèn)真學(xué)習(xí)好T-SQL是深入掌握SQL Server的必經(jīng)之路。表7-1反映出構(gòu)成T-SQL的主要內(nèi)容。,,返回本

33、節(jié)首頁(yè),7.2.1 Transact-SQL語(yǔ)法約定,1、語(yǔ)法約定,返回本節(jié)首頁(yè),2、多部分名稱 除非另外指定,否則,所有對(duì)數(shù)據(jù)庫(kù)對(duì)象名的T-SQL引用可以是由四部分組成的名稱,格式如下:[server_name.[database_name].[schema_name] | database_name.[schema_name] | schema_name.]object_name 其中:server_name:指定鏈接的服務(wù)器

34、名稱或遠(yuǎn)程服務(wù)器名稱;database_name:如果對(duì)象駐留在SQL Server的本地實(shí)例中,則指定 SQL Server 數(shù)據(jù)庫(kù)的名稱。如果對(duì)象在鏈接服務(wù)器中,則database_name將指定OLE DB目錄;schema_name:如果對(duì)象在 SQL Server 數(shù)據(jù)庫(kù)中,則指定包含對(duì)象的架構(gòu)的名稱。如果對(duì)象在鏈接服務(wù)器中,則 schema_name 將指定OLE DB架構(gòu)名稱;object_name:對(duì)象的名稱。,7.2.

35、1 Transact-SQL語(yǔ)法約定,返回本節(jié)首頁(yè),若要省略中間節(jié)點(diǎn),請(qǐng)使用句點(diǎn)來(lái)指示這些位置。表7-3顯示了對(duì)象名的有效格式。表7-3 對(duì)象名的有效格式,7.2.1 Transact-SQL語(yǔ)法約定,返回本節(jié)首頁(yè),3、代碼示例約定 除非專門(mén)說(shuō)明,否則,在T-SQL參考中提供的示例都已使用 SQL Server Management Studio 及其以下選項(xiàng)的默認(rèn)設(shè)置進(jìn)行了測(cè)試:ANSI_NULLS、ANSI_NULL_DFLT_

36、ON、ANSI_PADDING、ANSI_WARNINGS、CONCAT_NULL_YIELDS_NULL、QUOTED_IDENTIFIER。 T-SQL 參考中的大多數(shù)代碼示例都已在運(yùn)行區(qū)分大小寫(xiě)排序順序的服務(wù)器上進(jìn)行了測(cè)試。測(cè)試服務(wù)器通常運(yùn)行 ANSI/ISO 1252 代碼頁(yè)。,7.2.1 Transact-SQL語(yǔ)法約定,7.2.2 Transact-SQL的新增功能和增強(qiáng)功能,SQL Server 2005擴(kuò)展并增強(qiáng)T-S

37、QL語(yǔ)法以支持新增功能和特性。本SQL Server版本中提供的T-SQL增強(qiáng)功能分為以下幾類:1)示例數(shù)據(jù)庫(kù)增強(qiáng)功能;2)T-SQL 數(shù)據(jù)類型;3)數(shù)據(jù)庫(kù)控制臺(tái)命令(DBCC)語(yǔ)句;4)數(shù)據(jù)定義語(yǔ)言語(yǔ)句;5)數(shù)據(jù)操作語(yǔ)言語(yǔ)句;6)元數(shù)據(jù);7)復(fù)制系統(tǒng)存儲(chǔ)過(guò)程;8)其它語(yǔ)句。,返回本節(jié)首頁(yè),運(yùn)算符是一種符號(hào),用來(lái)指定要在一個(gè)或多個(gè)表達(dá)式中執(zhí)行的操作。SQL Server 2005所使用的運(yùn)算符類別有:算術(shù)運(yùn)算符、邏輯運(yùn)算

38、符、賦值運(yùn)算符、字符串串聯(lián)運(yùn)算符、按位運(yùn)算符、一元運(yùn)算符和比較運(yùn)算符。,7.2.3 運(yùn)算符,1、算術(shù)運(yùn)算符 算術(shù)運(yùn)算符對(duì)兩個(gè)表達(dá)式執(zhí)行數(shù)學(xué)運(yùn)算,這兩個(gè)表達(dá)式可以是數(shù)值數(shù)據(jù)類型類別的一個(gè)或多個(gè)數(shù)據(jù)類型。算術(shù)運(yùn)算符有:+(加)、(減)、*(乘)、/(除)、%(取模)。 %(取模):返回一個(gè)除法運(yùn)算的整數(shù)余數(shù)。例如,12%5=2,這是因?yàn)?2除以5,余數(shù)為2。加(+)和減(-)運(yùn)算符也可用于對(duì)datetime和smalldatetime值

39、執(zhí)行算術(shù)運(yùn)算。如: select getdate(),getdate()-10,cast((getdate()-cast('2006-01-18' as datetime)) as int),cast((getdate()-('2006-01-18')) as int) --查詢當(dāng)前日期、10天前日期、日期間隔天數(shù)等。,7.2.3 運(yùn)算符,2、邏輯運(yùn)算符 邏輯運(yùn)算符對(duì)某些條件進(jìn)行測(cè)試,以獲得其真實(shí)

40、情況。邏輯運(yùn)算符和比較運(yùn)算符一樣,返回帶有TRUE或FALSE值的Boolean數(shù)據(jù)類型,見(jiàn)表7-4。其使用詳見(jiàn)第6章。表7-4 邏輯運(yùn)算符,7.2.3 運(yùn)算符,返回本節(jié)首頁(yè),7.2.3 運(yùn)算符,3、賦值運(yùn)算符 等號(hào)(=)是唯一的T-SQL賦值運(yùn)算符。在以下示例中,將創(chuàng)建一個(gè)@MyCounter變量,然后賦值運(yùn)算符將@MyCounter設(shè)置為表達(dá)式返回的值。DECLARE @MyCounter INT; SET @MyCounter

41、 = 10;,4、字符串串聯(lián)運(yùn)算符 加號(hào)(+)是字符串串聯(lián)運(yùn)算符,可以用它將字符串串聯(lián)起來(lái)。其它所有字符串操作都使用字符串函數(shù)(如SUBSTRING)進(jìn)行處理。,,5、位運(yùn)算符 位運(yùn)算符在兩個(gè)表達(dá)式之間執(zhí)行位操作,這兩個(gè)表達(dá)式可以為整數(shù)數(shù)據(jù)類型類別中的任何數(shù)據(jù)類型。見(jiàn)表7-5。 位運(yùn)算符的操作數(shù)可以是整數(shù)或二進(jìn)制字符串?dāng)?shù)據(jù)類型類別中的任何數(shù)據(jù)類型(image 數(shù)據(jù)類型除外),但兩個(gè)操作數(shù)

42、不能同時(shí)是二進(jìn)制字符串?dāng)?shù)據(jù)類型類別中的某種數(shù)據(jù)類型。表7-6顯示所支持的操作數(shù)數(shù)據(jù)類型。,7.2.3 運(yùn)算符,返回本節(jié)首頁(yè),表7-5 位運(yùn)算符,表7-6 位運(yùn)算符的操作數(shù)要求,7.2.3 運(yùn)算符,返回本節(jié)首頁(yè),6、一元運(yùn)算符 一元運(yùn)算符只對(duì)一個(gè)表達(dá)式執(zhí)行操作,該表達(dá)式可以是numeric數(shù)據(jù)類型類別中的任何一種數(shù)據(jù)類型。具體為:+(正):數(shù)值為正;-(負(fù)):數(shù)值為負(fù);~(位非):返回?cái)?shù)字的非。其中:+(正)和-(負(fù))運(yùn)算符可以用于nu

43、meric數(shù)據(jù)類型類別中任一數(shù)據(jù)類型的任意表達(dá)式。~(位非)運(yùn)算符只能用于整數(shù)數(shù)據(jù)類型類別中任一數(shù)據(jù)類型的表達(dá)式。,7、比較運(yùn)算符 比較運(yùn)算符測(cè)試兩個(gè)表達(dá)式是否相同。除了text、ntext 或image 數(shù)據(jù)類型的表達(dá)式外,比較運(yùn)算符可以用于所有的表達(dá)式。T-SQL比較運(yùn)算符有:=(等于)、>(大于)、=(大于等于)、(不等于)、!=(不等于,非SQL-92標(biāo)準(zhǔn))、!(不大于,非SQL-92標(biāo)準(zhǔn))。,7.2.3 運(yùn)算符,返回本

44、節(jié)首頁(yè),8、運(yùn)算符優(yōu)先級(jí)和結(jié)合性 表達(dá)式計(jì)算器支持的運(yùn)算符集中的每個(gè)運(yùn)算符在優(yōu)先級(jí)層次結(jié)構(gòu)中都有指定的優(yōu)先級(jí),并包含一個(gè)計(jì)算方向。運(yùn)算符的計(jì)算方向就是運(yùn)算符結(jié)合性。具有高優(yōu)先級(jí)的運(yùn)算符先于低優(yōu)先級(jí)的運(yùn)算符進(jìn)行計(jì)算。如果復(fù)雜的表達(dá)式有多個(gè)運(yùn)算符,則運(yùn)算符優(yōu)先級(jí)將確定執(zhí)行操作的順序。執(zhí)行順序可能對(duì)結(jié)果值有明顯的影響。某些運(yùn)算符具有相等的優(yōu)先級(jí)。如果表達(dá)式包含多個(gè)具有相等的優(yōu)先級(jí)的運(yùn)算符,則按照從左到右或從右到左的方向進(jìn)行運(yùn)算。,7.2.3

45、 運(yùn)算符,返回本節(jié)首頁(yè),下表7-7按從高到低的順序列出了運(yùn)算符的優(yōu)先級(jí)。同層運(yùn)算符具有相等的優(yōu)先級(jí)。表7-7 運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,7.2.3 運(yùn)算符,7.2.4 數(shù)據(jù)類型,在 SQL Server 2005中,每個(gè)列、局部變量、表達(dá)式和參數(shù)都具有一個(gè)相關(guān)的數(shù)據(jù)類型。數(shù)據(jù)類型是一種屬性,用于指定對(duì)象可保存的數(shù)據(jù)的類型:整數(shù)數(shù)據(jù)、字符數(shù)據(jù)、貨幣數(shù)據(jù)、日期和時(shí)間數(shù)據(jù)、二進(jìn)制字符串等。 SQL Server 提供系統(tǒng)數(shù)據(jù)類型集,該類

46、型集定義了可與 SQL Server 一起使用的所有數(shù)據(jù)類型。您還可以在T-SQL或 .NET Framework 中定義自己的數(shù)據(jù)類型。別名數(shù)據(jù)類型基于系統(tǒng)提供的數(shù)據(jù)類型。用戶定義類型從您使用 .NET Framework 支持的編程語(yǔ)言之一創(chuàng)建的類的方法和運(yùn)算符中獲取它們的特征。,返回本節(jié)首頁(yè),SQL Server 2005中的數(shù)據(jù)類型歸納為下列類別:精確數(shù)字、Unicode 字符串、近似數(shù)字、二進(jìn)制字符串、日期和時(shí)間、其它數(shù)據(jù)類型

47、、字符串。精確數(shù)字:bigint,decimal,int,numeric,smallint,money,tinyint,smallmoney,bit 近似數(shù)字:float,real;日期和時(shí)間:datetime,smalldatetime 字符串1:char,text,varchar,Unicode;,7.2.4 數(shù)據(jù)類型,字符串2:nchar,ntext,nvarchar 二進(jìn)制字符串:binary,image,varb

48、inary 其它類型:cursor,timestamp,sql_variant,uniqueidentifier,table,xml 在 SQL Server 2005中,根據(jù)其存儲(chǔ)特征,某些數(shù)據(jù)類型被指定為屬于下列各組:1)大值數(shù)據(jù)類型:varchar(max),nvarchar(max)和varbinary(max);2)大型對(duì)象數(shù)據(jù)類型:text,ntext,image,varchar(max),nv

49、archar(max),varbinary(max)和xml。,7.2.4 數(shù)據(jù)類型,返回本節(jié)首頁(yè),1、數(shù)據(jù)類型優(yōu)先級(jí) 當(dāng)兩個(gè)不同數(shù)據(jù)類型的表達(dá)式用運(yùn)算符組合后,數(shù)據(jù)類型優(yōu)先級(jí)規(guī)則指定將優(yōu)先級(jí)較低的數(shù)據(jù)類型轉(zhuǎn)換為優(yōu)先級(jí)較高的數(shù)據(jù)類型。如果此轉(zhuǎn)換不是所支持的隱式轉(zhuǎn)換,則返回錯(cuò)誤。當(dāng)兩個(gè)操作數(shù)表達(dá)式具有相同的數(shù)據(jù)類型時(shí),運(yùn)算的結(jié)果便為該數(shù)據(jù)類型。 SQL Server 2005對(duì)數(shù)據(jù)類型使用以下優(yōu)先級(jí)順序:用戶定義數(shù)據(jù)類型(最高)→s

50、ql_variant→xml→datetime→smalldatetime→float→real→decimal→money→smallmoney→bigint→int→smallint→tinyint→bit→ntext→text→image→timestamp→uniqueidentifier→nvarchar→nchar→varchar→char→varbinary→binary(最低),7.2.4 數(shù)據(jù)類型,返回本節(jié)首頁(yè),可以

51、按以下方案轉(zhuǎn)換數(shù)據(jù)類型: 當(dāng)一個(gè)對(duì)象的數(shù)據(jù)移到另一個(gè)對(duì)象,或兩個(gè)對(duì)象之間的數(shù)據(jù)進(jìn)行比較或組合時(shí),數(shù)據(jù)可能需要從一個(gè)對(duì)象的數(shù)據(jù)類型轉(zhuǎn)換為另一個(gè)對(duì)象的數(shù)據(jù)類型。 將T-SQL結(jié)果列、返回代碼或輸出參數(shù)中的數(shù)據(jù)移到某個(gè)程序變量中時(shí),必須將這些數(shù)據(jù)從SQLServer 2005系統(tǒng)數(shù)據(jù)類型轉(zhuǎn)換成該變量的數(shù)據(jù)類型。 可以隱式或顯式轉(zhuǎn)換數(shù)據(jù)類型:1)隱式轉(zhuǎn)換:SQL Server會(huì)自動(dòng)將數(shù)據(jù)從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。例如,將smal

52、lint與int進(jìn)行比較時(shí),在比較之前smallint會(huì)被隱式轉(zhuǎn)換為int;2)顯式轉(zhuǎn)換:使用CAST或CONVERT函數(shù)來(lái)實(shí)現(xiàn)類型的顯式轉(zhuǎn)換。,7.2.4 數(shù)據(jù)類型,返回本節(jié)首頁(yè),3、數(shù)據(jù)類型轉(zhuǎn)換行為 以下說(shuō)明下列數(shù)據(jù)類型所表現(xiàn)出來(lái)的轉(zhuǎn)換行為:binary和varbinary數(shù)據(jù);float和real數(shù)據(jù);bit數(shù)據(jù);money數(shù)據(jù);字符數(shù)據(jù);decimal和numeric數(shù)據(jù);datetime和smalldatetime數(shù)據(jù);使

53、用OLE自動(dòng)化存儲(chǔ)過(guò)程轉(zhuǎn)換數(shù)據(jù)類型。,7.2.4 數(shù)據(jù)類型,返回本節(jié)首頁(yè),4、排序規(guī)則優(yōu)先順序 排序規(guī)則優(yōu)先順序也稱為排序規(guī)則強(qiáng)制規(guī)則,用于確定:1)計(jì)算結(jié)果為字符串的表達(dá)式的最終結(jié)果排序規(guī)則;2)區(qū)分排序規(guī)則的運(yùn)算符所使用的排序規(guī)則,這些運(yùn)算符使用字符串輸入但不返回字符串,如LIKE和IN。 排序規(guī)則的優(yōu)先順序規(guī)則只應(yīng)用于下列字符串?dāng)?shù)據(jù)類型:char、varchar、text、nchar、nvarchar和ntext。具有其它數(shù)

54、據(jù)類型的對(duì)象不參與排序規(guī)則計(jì)算。,7.2.4 數(shù)據(jù)類型,在數(shù)據(jù)類型轉(zhuǎn)換之后確定排序規(guī)則優(yōu)先順序(具體略)。生成結(jié)果排序規(guī)則的操作數(shù)可以與提供最終結(jié)果數(shù)據(jù)類型的操作數(shù)不同。例如,請(qǐng)看下面的批處理: CREATE TABLE TestTb(PrimaryKey int PRIMARY KEY,CharCol char(10) COLLATE French_CI_AS) SELECT * FROM TestTb WHERE CharCo

55、l LIKE N'abc' 簡(jiǎn)單表達(dá)式N'abc'的Unicode數(shù)據(jù)類型有更高的數(shù)據(jù)類型優(yōu)先級(jí)。因此,所生成的表達(dá)式將Unicode數(shù)據(jù)類型分配給N'abc'。但是,表達(dá)式CharCol具有隱式排序規(guī)則標(biāo)簽,而N'abc'具有級(jí)別更低的強(qiáng)制標(biāo)簽,即強(qiáng)制默認(rèn)。因此,所使用的排序規(guī)則是CharCol的French_CI_AS 排序規(guī)則。,7.2.4 數(shù)據(jù)類型,返回本節(jié)首頁(yè)

56、,7.2.5 函數(shù),SQL Server 2005提供了許多內(nèi)置函數(shù),同時(shí)也允許您創(chuàng)建用戶定義函數(shù)。 函數(shù)類型分類表見(jiàn)表7-10。其中最常用的標(biāo)量函數(shù)有:配置函數(shù)、游標(biāo)函數(shù)、日期和時(shí)間函數(shù)、數(shù)學(xué)函數(shù)、元數(shù)據(jù)函數(shù)、安全函數(shù)、字符串函數(shù)、系統(tǒng)函數(shù)、系統(tǒng)統(tǒng)計(jì)函數(shù)、文本和圖像函數(shù)等10類。,表7-10 函數(shù)分類表,返回本節(jié)首頁(yè),1、系統(tǒng)函數(shù) 下列函數(shù)對(duì)SQL Server 2005中的值、對(duì)象和設(shè)置進(jìn)行操作并返回有關(guān)信息。它們是:APP

57、_NAME、CASE表達(dá)式、CAST和CONVERT、COALESCE、CURRENT_TIMESTAMP、CURRENT_USER、DATALENGTH、@@ERROR、ERROR_LINE、ERROR_MESSAGE、ERROR_NUMBER、ERROR_PROCEDURE、ERROR_SEVERITY、ERROR_STATE、fn_helpcollations、HOST_ID、HOST_NAME、@@IDENTITY、ISDATE

58、、ISNULL、ISNUMERIC、NEWID、PARSENAME、@@ROWCOUNT、SERVERPROPERTY、SESSIONPROPERTY、SESSION_USER、SYSTEM_USER、USER_NAME等。,7.2.5 函數(shù),返回本節(jié)首頁(yè),2、常用函數(shù)介紹 1. 統(tǒng)計(jì)函數(shù) 在SQL Server 2005中的統(tǒng)計(jì)函數(shù)如下:(1)STDEV:STDEV函數(shù)返回給定表達(dá)式中所有值的統(tǒng)計(jì)標(biāo)準(zhǔn)偏差。其語(yǔ)法格式如下:STDE

59、V(expression),expression是數(shù)字表達(dá)式。不允許進(jìn)行聚合函數(shù)運(yùn)算和子查詢。expression 是精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類型分類(bit數(shù)據(jù)類型除外)的表達(dá)式。它的返回類型是float。其它統(tǒng)計(jì)函數(shù)參數(shù)與返回類型情況相同。其它統(tǒng)計(jì)函數(shù)語(yǔ)法格式類似。(2)STDEVP:STDEVP函數(shù)返回給定表達(dá)式中所有值的填充統(tǒng)計(jì)標(biāo)準(zhǔn)偏差。例如:USE AdventureWorks; SELECT STDEVP(Bonus) F

60、ROM Sales.SalesPerson(3)VAR:VAR函數(shù)返回給定表達(dá)式中所有值的統(tǒng)計(jì)方差。(4)VARP:VARP函數(shù)返回給定表達(dá)式中所有值的填充的統(tǒng)計(jì)方差。,7.2.5 函數(shù),返回本節(jié)首頁(yè),2. 算術(shù)函數(shù) 算術(shù)函數(shù)(例如 ABS、CEILING、DEGREES、FLOOR、POWER、RADIANS和SIGN)返回與輸入值相同數(shù)據(jù)類型的值。三角函數(shù)和其它函數(shù)(包括 EXP、LOG、LOG10、SQUARE和SQRT)將

61、輸入值投影到float并返回float值。 除了RAND外,所有數(shù)學(xué)函數(shù)都是確定性函數(shù)。每次用一組特定輸入值調(diào)用它們時(shí),所返回的結(jié)果相同。僅當(dāng)指定種子參數(shù)時(shí),RAND才具有確定性。,7.2.5 函數(shù),返回本節(jié)首頁(yè),3. 字符串函數(shù) 字符串函數(shù)用于對(duì)字符和二進(jìn)制字符串進(jìn)行各種操作,它們返回對(duì)字符數(shù)據(jù)進(jìn)行操作后得到的值。以下是這些字符串函數(shù)的函數(shù)名:ASCII、NCHAR、SOUNDEX、CHAR、PATINDEX、SPACE、CHAR

62、INDEX、QUOTENAME、STR、DIFFERENCE、REPLACE、STUFF、LEFT、REPLICATE、SUBSTRING、LEN、REVERSE、UNICODE、LOWER、RIGHT、UPPER、LTRIM、RTRIM。,7.2.5 函數(shù),返回本節(jié)首頁(yè),4. 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 在一般情況下,SQL Server會(huì)自動(dòng)完成數(shù)據(jù)類型的轉(zhuǎn)換,例如:可以直接將字符數(shù)據(jù)類型或表達(dá)式與DATATIME數(shù)據(jù)類型或表達(dá)式比較;當(dāng)表

63、達(dá)式中用了INTEGER,SMALLINT或TINYINT時(shí),SQL Server也可將INTEGER數(shù)據(jù)類型或表達(dá)式轉(zhuǎn)換為SMALLINT數(shù)據(jù)類型或表達(dá)式,這稱為隱式轉(zhuǎn)換。如果不能確定SQL Server是否能完成隱式轉(zhuǎn)換或者使用了不能隱式轉(zhuǎn)換的其它數(shù)據(jù)類型,就需要使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)做顯式轉(zhuǎn)換了。此類函數(shù)有兩種: (1)CAST函數(shù):CAST的語(yǔ)法格式如下:CAST(expression AS data_type) (2)CON

64、VERT函數(shù):CONVERT的語(yǔ)法格式如下:CONVERT(data_type[(length)],expression[,style]),7.2.5 函數(shù),返回本節(jié)首頁(yè),5. 日期函數(shù) 日期函數(shù)用來(lái)操作DATETIME和SMALLDATETIME類型的數(shù)據(jù)執(zhí)行算術(shù)運(yùn)算。與其它函數(shù)一樣,可以在SELECT語(yǔ)句的SELECT和WHERE子句以及表達(dá)式中使用日期函數(shù)。其使用方法如下:日期函數(shù)(參數(shù))。其中參數(shù)的個(gè)數(shù)隨函數(shù)的不同而不同。

65、(1)DAY函數(shù):DAY函數(shù)返回代表指定日期的天的日期部分的整數(shù)。 其語(yǔ)法格式如下:DAY(date)。其返回類型為int,此函數(shù)等價(jià)于DATEPART(dd,date)。 例7-20 此示例返回從日期 01/28/2007中返回的天數(shù)。 SELECT DAY('01/28/2007') AS '幾號(hào)',7.2.5 函數(shù),返回本節(jié)首頁(yè),(2)MONTH函數(shù):MONTH函數(shù)返回代表指定日期月份的整數(shù)。

66、(3)YEAR函數(shù):YEAR函數(shù)返回表示指定日期中的年份的整數(shù)。其語(yǔ)法格式如下:YEAR(date),參數(shù)date表示datetime或smalldatetime類型的表達(dá)式。其返回類型為int。此函數(shù)等價(jià)于 DATEPART(yy,date)。例7-22 本例從日期01/28/2007中返回年份數(shù):SELECT "年份"=YEAR('01/28/2007'),7.2.5 函數(shù),(4)DATEA

67、DD函數(shù):DATEADD函數(shù)表示在向指定日期加上一段時(shí)間的基礎(chǔ)上,返回新的 datetime 值。其語(yǔ)法格式如下:DATEADD(datepart,number,date)其中參數(shù)datepart是規(guī)定應(yīng)向日期的哪一部分增加新值的參數(shù)。下表7-13列出了SQL Server識(shí)別的日期部分和縮寫(xiě)。 (5)DATEDIFF函數(shù):DATEDIFF函數(shù)返回跨兩個(gè)指定日期的日期和時(shí)間邊界數(shù)。其語(yǔ)法格式如下:DATEDIFF(datepart

68、,startdate,enddate)例7-23 此示例確定在 pubs 數(shù)據(jù)庫(kù)中標(biāo)題發(fā)布日期和當(dāng)前日期間的天數(shù)。USE pubs; SELECT DATEDIFF(day,pubdate,getdate()) AS no_of_days FROM titles,7.2.5 函數(shù),返回本節(jié)首頁(yè),(6)DATENAME函數(shù):DATENAME函數(shù)返回代表指定日期的指定日期部分的字符串。其語(yǔ)法格式如下:DATENAME(datepar

69、t,date)(7)DATEPART函數(shù):DATEPART函數(shù)表示返回代表指定日期的指定日期部分的整數(shù)。其語(yǔ)法格式如下:DATEPART(datepart,date)。DATEPART函數(shù)以整數(shù)值的形式返回日期的指定部分,此部分由datepart來(lái)指定。DATEPART(dd,date)等同于DAY(date);DATEPART(mm,date)等同于MONTH(date)DATEPART(yy,date)等同于YEAR(date)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論