SQLServer數(shù)據(jù)庫系統(tǒng)概述課件_第1頁
SQLServer數(shù)據(jù)庫系統(tǒng)概述課件_第2頁
SQLServer數(shù)據(jù)庫系統(tǒng)概述課件_第3頁
SQLServer數(shù)據(jù)庫系統(tǒng)概述課件_第4頁
SQLServer數(shù)據(jù)庫系統(tǒng)概述課件_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第八章SQLServer數(shù)據(jù)庫系統(tǒng)概述開始下一頁SQLServer的發(fā)展歷程及特點(diǎn)SQLServer的安裝與啟動(dòng)SQLServer管理工具簡(jiǎn)介SQLServer的系統(tǒng)結(jié)構(gòu)TransactSQL語言簡(jiǎn)介SQLServer的主要數(shù)據(jù)類型SQLServer函數(shù)SQLServer的標(biāo)識(shí)符及命名規(guī)則1應(yīng)用程序邏輯數(shù)據(jù)庫大型機(jī)客戶端終端字符按鍵信息大型主機(jī)執(zhí)行RDBMS和應(yīng)用程序…20世紀(jì)60-70年代的系統(tǒng)結(jié)構(gòu)計(jì)算機(jī)應(yīng)用系統(tǒng)的發(fā)展(1)大型機(jī)相當(dāng)于今天的服務(wù)器集中式2數(shù)據(jù)庫應(yīng)用程序邏輯工作站1應(yīng)用程序邏輯工作站1應(yīng)用程序邏輯工作站1應(yīng)用程序邏輯工作站1……網(wǎng)絡(luò)文件服務(wù)器文件請(qǐng)求文件應(yīng)用程序在客戶工作站上運(yùn)行只提供資源(數(shù)據(jù))的集中管理和訪問途徑計(jì)算機(jī)應(yīng)用系統(tǒng)的發(fā)展(2)20世紀(jì)80年代的系統(tǒng)結(jié)構(gòu)文件/服務(wù)器3SELECT*FROMstudentWHERE學(xué)號(hào)=“992126”提交的SQL接收的結(jié)果帶有60000條記錄的數(shù)據(jù)庫表格文件student查詢?cè)诜?wù)器端執(zhí)行SQL請(qǐng)求返回一條記錄客戶工作站服務(wù)器工作站接收的只是查詢的結(jié)果

查詢語句將在服務(wù)器中執(zhí)行

客戶/服務(wù)器結(jié)構(gòu)特點(diǎn)前端用戶需要后臺(tái)服務(wù)器的服務(wù)時(shí)僅僅發(fā)出請(qǐng)求,服務(wù)器接受該請(qǐng)求后執(zhí)行相應(yīng)的功能,并把滿足條件的那部分?jǐn)?shù)據(jù)反饋給前臺(tái)客戶端本結(jié)構(gòu)核心大型機(jī)的絕對(duì)功能和集中管理以及微型計(jì)算機(jī)的低費(fèi)用和更好的平衡處理能力“協(xié)同處理”即通過客戶端和服務(wù)器端的最佳分式合作,使整個(gè)系統(tǒng)達(dá)到最高的效率客戶端程序和數(shù)據(jù)專用服務(wù)器功能和數(shù)據(jù)用戶共享它是一個(gè)開放的體系結(jié)構(gòu)5

數(shù)據(jù)庫服務(wù)器的平臺(tái)與客戶端無關(guān)(無論是軟件平臺(tái)還是硬件平臺(tái))。數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)庫管理系統(tǒng)集中負(fù)責(zé)管理數(shù)據(jù)庫服務(wù)器上的數(shù)據(jù)和資源,它向客戶端提供一個(gè)開放的使用環(huán)境,客戶端的用戶通過數(shù)據(jù)庫接口和SQL語言訪問數(shù)據(jù)庫。

也就是說,不管客戶端采用的是什么樣的硬件平臺(tái)和軟件環(huán)境,它只要能夠通過網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)庫接口程序連接到服務(wù)器就可以對(duì)數(shù)據(jù)庫進(jìn)行訪問。

客戶/服務(wù)器結(jié)構(gòu)特點(diǎn)671.真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡(jiǎn)單。3.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。4.SQLServer與WindowsNT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQLServer也可以很好地與MicrosoftBackOffice產(chǎn)品集成。SQLServer的主要特點(diǎn)95.具有很好的伸縮性,可跨越從運(yùn)行Windows95/98的膝上型電腦到運(yùn)行Windows2000的大型多處理器等多種平臺(tái)使用。6.對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。7.SQLServer提供數(shù)據(jù)倉庫功能,這個(gè)功能只在Oracle和其他更昂貴的DBMS中才有。10SQLServer2000常見的版本企業(yè)版(EnterpriseEdition)標(biāo)準(zhǔn)版(StandardEdition)個(gè)人版(PersonalEdition)開發(fā)者版(DeveloperEdition)

二、

SQLServer的安裝與啟動(dòng)11安裝、運(yùn)行SQLServer2000的軟件需求SQLServer2000企業(yè)版必須運(yùn)行于安裝WindowsNTServerEnterpriseEdition4.0或者Windows2000AdvancedServer以及更高版本的操作系統(tǒng)下。SQLServer2000標(biāo)準(zhǔn)版必須運(yùn)行于安裝WindowsNTServerEnterpriseEdition4.0、WindowsNTServer4.0、Windows2000Server以及更高版本的操作系統(tǒng)下。SQLServer2000個(gè)人版可在多種操作系統(tǒng)下運(yùn)行,如可運(yùn)行于Windows9x,WindowsNT4.0或Windows2000的服務(wù)器版或工作站版的操作系統(tǒng)下。SQLServer2000開發(fā)者版可運(yùn)行于上述Windows9x以外的所有操作系統(tǒng)下。13SQLServer2000的安裝與啟動(dòng)SQLServer2000的安裝過程與其它MicrosoftWindows系列產(chǎn)品類似。用戶可根據(jù)向?qū)崾荆x擇需要的選項(xiàng)一步一步地完成。SQLServer2000安裝完成后,在Windows的程序項(xiàng)中會(huì)出現(xiàn)MicrosoftSQLServer程序組,運(yùn)行SQLServer數(shù)據(jù)庫服務(wù)器。14數(shù)據(jù)庫服務(wù)器管理工具數(shù)據(jù)庫企業(yè)管理器查詢分析器服務(wù)管理器導(dǎo)入和導(dǎo)出數(shù)據(jù)服務(wù)器端網(wǎng)絡(luò)實(shí)用工具客戶端網(wǎng)絡(luò)實(shí)用工具事件探查器在IIS中配置SQLXML支持AnalysisServices工具EnglishQuery工具

系統(tǒng)數(shù)據(jù)庫用戶數(shù)據(jù)庫數(shù)據(jù)表索引視圖存儲(chǔ)過程學(xué)習(xí)SQLServer2000需要掌握的內(nèi)容15三、SQLServer管理工具簡(jiǎn)介SQLServer企業(yè)管理器是SQLServer的一個(gè)最重要的工具,它通過圖形化的用戶界面(GUI)來設(shè)置和管理服務(wù)器,易于使用。查詢分析器不但能夠完成與企業(yè)管理器相同的工作,它還為數(shù)據(jù)庫應(yīng)用程序開發(fā)人員提供了一個(gè)簡(jiǎn)單易用的SQL交互窗口,用戶通過它可以交互地設(shè)計(jì)、測(cè)試、運(yùn)行TransactSQL語句。了解其它管理工具的功能。17企業(yè)管理器企業(yè)管理器是基于一種新的被稱為微軟管理控制臺(tái)(MicrosoftManagementConsole)的公共服務(wù)器管理環(huán)境,它是SQLServer中最重要的一個(gè)管理工具。企業(yè)管理器不僅能夠配置系統(tǒng)環(huán)境和管理SQLServer,而且由于它能夠以層疊列表的形式來顯示所有的SQLServer對(duì)象,因而所有SQLServer對(duì)象的建立與管理都可以通過它來完成。18SQLServer企業(yè)管理器(EnterpriseManager)界面191.3.2服務(wù)管理器(ServiceManager)SQLServer服務(wù)管理器是在服務(wù)器端實(shí)際工作時(shí)最有用的實(shí)用程序,其界面如圖1-21所示。服務(wù)管理器用來啟動(dòng)、暫停、繼續(xù)和停止數(shù)據(jù)庫服務(wù)器的實(shí)時(shí)服務(wù),其提供的服務(wù)包括:SQLServer、SQLServerAgent、MSDTC(MicrosoftDistributedTransactionCoordinator,微軟分布式事務(wù)協(xié)調(diào)器)。21圖1-21SQLServer服務(wù)管理器(ServiceManager)界面22查詢分析器(QueryAnalyzer)SQLServer2000新的圖形化查詢分析器用于輸入和執(zhí)行Transaction-SQL語句,并且迅速查看這些語句的結(jié)果,以分析和處理數(shù)據(jù)庫中的數(shù)據(jù)。這是一個(gè)非常實(shí)用的工具,對(duì)掌握SQL語言,深入理解SQLServer的管理工作有很大幫助。SQLServer數(shù)據(jù)庫查詢分析器SQL23客戶端網(wǎng)絡(luò)實(shí)用工具(ClientNetworkUtility)25導(dǎo)入和導(dǎo)出數(shù)據(jù)(ImputandExportData)導(dǎo)入和導(dǎo)出數(shù)據(jù)采用DTC導(dǎo)入/導(dǎo)出向?qū)硗瓿?。此向?qū)О怂械腄TS(DataTransformationServices)工具,提供了在OLEDB數(shù)據(jù)源之間復(fù)制數(shù)據(jù)的最簡(jiǎn)捷的方法。SQLServer數(shù)據(jù)庫DTS服務(wù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)其他類型數(shù)據(jù)庫26系統(tǒng)數(shù)據(jù)庫SQLSrver的數(shù)據(jù)庫組成系統(tǒng)級(jí)信息臨時(shí)數(shù)據(jù)庫,屬于全局資源,沒有權(quán)限限制。復(fù)制、作業(yè)調(diào)度和管理報(bào)警等建立新數(shù)據(jù)庫的模板下一頁29SQLServer系統(tǒng)數(shù)據(jù)庫簡(jiǎn)介SQLServer2000有6個(gè)系統(tǒng)數(shù)據(jù)庫1.Master數(shù)據(jù)庫是SQLServer系統(tǒng)最重要的數(shù)據(jù)庫,它記錄了SQLServer系統(tǒng)的所有系統(tǒng)信息。這些系統(tǒng)信息包括所有的登錄信息、系統(tǒng)設(shè)置信息、SQLServer的初始化信息和其它系統(tǒng)數(shù)據(jù)庫及用戶數(shù)據(jù)庫的相關(guān)信息。2.Model數(shù)據(jù)庫是所有用戶數(shù)據(jù)庫和Tempdb數(shù)據(jù)庫的模板數(shù)據(jù)庫,它含有Master數(shù)據(jù)庫所有系統(tǒng)表的子集,這些系統(tǒng)數(shù)據(jù)庫是每個(gè)用戶定義數(shù)據(jù)庫需要的。303.Msdb數(shù)據(jù)庫是代理服務(wù)數(shù)據(jù)庫,為其警報(bào)、任務(wù)調(diào)度和記錄操作員的操作提供存儲(chǔ)空間。4.Tempdb是一個(gè)臨時(shí)數(shù)據(jù)庫,它為所有的臨時(shí)表、臨時(shí)存儲(chǔ)過程及其它臨時(shí)操作提供存儲(chǔ)空間。5.Pubs和Northwind數(shù)據(jù)庫是兩個(gè)實(shí)例數(shù)據(jù)庫,它們可以作為SQLServer的學(xué)習(xí)工具。31系統(tǒng)表在邏輯層次上,數(shù)據(jù)庫是由表、視圖、存儲(chǔ)過程等一系列數(shù)據(jù)對(duì)象組成的。每當(dāng)創(chuàng)建數(shù)據(jù)庫時(shí),SQLServer都會(huì)自動(dòng)創(chuàng)建一些數(shù)據(jù)對(duì)象,其中比較重要的是系統(tǒng)表。不要求背系統(tǒng)表,只要求知道:系統(tǒng)表是自動(dòng)生成的,不能手工修改。32幾個(gè)最重要的系統(tǒng)表1.Sysobjects表SQLServer的主系統(tǒng)表sysobjects出現(xiàn)在每個(gè)數(shù)據(jù)庫中,它對(duì)每個(gè)數(shù)據(jù)庫對(duì)象含有一行記錄。2.Syscolumns表系統(tǒng)表syscolumns出現(xiàn)在master數(shù)據(jù)庫和每個(gè)用戶自定義的數(shù)據(jù)庫中,它對(duì)基表或者視圖的每個(gè)列和存儲(chǔ)過程中的每個(gè)參數(shù)含有一行記錄。3.Sysindexes表系統(tǒng)表sysindexes出現(xiàn)在master數(shù)據(jù)庫和每個(gè)用戶自定義的數(shù)據(jù)庫中,它對(duì)每個(gè)索引和沒有聚簇索引的每個(gè)表含有一行記錄,它還對(duì)包括文本/圖像數(shù)據(jù)的每個(gè)表含有一行記錄。334.Sysusers表系統(tǒng)表sysusers出現(xiàn)在master數(shù)據(jù)庫和每個(gè)用戶自定義的數(shù)據(jù)庫中,它對(duì)整個(gè)數(shù)據(jù)庫中的每個(gè)WindowsNT用戶、WindowsNT用戶組、SQLServer用戶或者SQLServer角色含有一行記錄。5.Sysdatabases表系統(tǒng)表sysdatabases對(duì)SQLServer系統(tǒng)上的每個(gè)系統(tǒng)數(shù)據(jù)庫和用戶自定義的數(shù)據(jù)庫含有一行記錄,它只出現(xiàn)在master數(shù)據(jù)庫中。346.Sysdepends表系統(tǒng)表Sysdepends對(duì)表、視圖和存儲(chǔ)過程之間的每個(gè)依賴關(guān)系含有一行記錄,它出現(xiàn)在master數(shù)據(jù)庫和每個(gè)用戶自定義的數(shù)據(jù)庫中。7.Sysconstraints表系統(tǒng)表sysconstraints對(duì)使用CREATETABLE或者ALTERTABLE語句為數(shù)據(jù)庫對(duì)象定義的每個(gè)完整性約束含有一行記錄,它出現(xiàn)在master數(shù)據(jù)庫和每個(gè)用戶自定義的數(shù)據(jù)庫中。35第八章SQLServer數(shù)據(jù)庫系統(tǒng)概述開始下一頁SQLServer的發(fā)展歷程及特點(diǎn)SQLServer的安裝與啟動(dòng)SQLServer管理工具簡(jiǎn)介SQLServer的系統(tǒng)結(jié)構(gòu)TransactSQL語言簡(jiǎn)介SQLServer的主要數(shù)據(jù)類型SQLServer函數(shù)SQLServer的標(biāo)識(shí)符及命名規(guī)則36五、TransactSQL語言簡(jiǎn)介標(biāo)準(zhǔn)SQL語言是作為查詢和執(zhí)行語言使用的,不是功能全面的編程語言。Transact-SQL是SQLServer對(duì)標(biāo)準(zhǔn)SQL的擴(kuò)展擴(kuò)展的主要功能是:加入了程序控制結(jié)構(gòu),如IF-ELSE、WHILE等加入了局部變量、全局變量SQLServer不區(qū)分大小寫,但書寫規(guī)范是:保留關(guān)鍵字大寫37T—SQL的主要功能:1、具有標(biāo)準(zhǔn)的SQL語言所有功能2、擴(kuò)展功能有:加入程序控制和局部變量和全局變量一些功能?!梢跃帉懞?jiǎn)單的程序。38Transact-SQL語言主要組成部分?jǐn)?shù)據(jù)定義語言(DDL,DataDefinitionLanguage)數(shù)據(jù)操縱語言(DML,DataManipularionLanguage)數(shù)據(jù)控制語言(DCL,DataControlLanguage)系統(tǒng)存儲(chǔ)過程(SystemStoredProcedure)一些附加的語言元素39一些附加的語言元素:如注釋符號(hào)與變量及運(yùn)算符:(1)、

注釋:有兩種:一種為ANSI標(biāo)準(zhǔn)注釋符:--,適用于單行另一種為多行注釋符:/**/(2)、

變量:語言中必不可少的組成部分。A:局部變量:用戶自定的,僅在程序內(nèi)部使用,引用時(shí)要在其名稱前加上@,而且必須用DECLARE定義后才可使用。設(shè)置完值為空,可用SELECT或SET語句定值。40例1:use教師庫DECLARE@MYCHAR(10)SET@MY='張紅'--或者為select@MY='張紅'SELECT*from教師表where教師姓名=@MY例2:USEPUBS GO DECLARE@STATECHAR(2) SET@STATE="CHINA" SELECT@STATEB:全局變量:系統(tǒng)提供的。任何程序都可調(diào)用。以標(biāo)記符@@開頭,名稱不要與局部變量相同,在服務(wù)器級(jí)定義。41例1:Selectgetdate()as‘today’’sdateandtime’,/*顯示當(dāng)前日期和時(shí)間為止試圖登錄服務(wù)器的次數(shù)。*/@@connectionsas‘loginattempts’例2:select@@versionas‘當(dāng)前版本信息’例3:print@@version--與例2有什么區(qū)別?42運(yùn)算符

(1)

算術(shù)運(yùn)算符:(2)

字符串運(yùn)算符:(3)

位運(yùn)算符:對(duì)二進(jìn)制計(jì)算(4)

賦值運(yùn)算符:只有一個(gè);等號(hào)(5)

比較運(yùn)算符:P34(6)

邏輯運(yùn)算符:NOT,AND,OR與其他不同的是,前后不用兩點(diǎn)43例:定義一個(gè)變量,int型,定值為2*(3+4),顯示出來。Declare@dddintSet@ddd=2*(3+4)Select@ddd44TransactSQL批處理及執(zhí)行過程簡(jiǎn)介批處理是指從客戶機(jī)傳遞到服務(wù)器上的一組完整的數(shù)據(jù)和SQL語句。使用GO關(guān)鍵字標(biāo)識(shí)批處理的開始和結(jié)束。前后臺(tái)方式下TransactSQL語句的執(zhí)行過程示例45T-SQL的批處理及執(zhí)行過程 1、批處理:成批處理命令或語句。從客戶機(jī)傳遞到服務(wù)器的一組完整的數(shù)據(jù)和SQL語句,可以只有一條SQL語句,或者多條。用GO指令標(biāo)識(shí)批處理結(jié)束。 即一個(gè)批處理一次發(fā)給服務(wù)器一組SQL語句。46例:use教學(xué)庫

select*from教師表; select教師姓名,職稱,系名

from教師表,系表

where教師

go2、客戶端執(zhí)行過程:以批處理形式向服務(wù)器遞交語句。47服務(wù)器端的執(zhí)行過程48六、SQLServer的主要數(shù)據(jù)類型在SQLServer中,數(shù)據(jù)類型通常是指字段列、存儲(chǔ)過程和局部變量的數(shù)據(jù)特征。Varchar與char的區(qū)別(長(zhǎng)度可變或固定)二進(jìn)制數(shù)據(jù)類型(圖片\Word文件等)雙字符類型類型(nchar,nvarchar,ntext)Timestamp數(shù)據(jù)類型(不是日期,也不是時(shí)間數(shù)據(jù),而是SQLServer根據(jù)事件的發(fā)生次序自動(dòng)生成的一種二進(jìn)制數(shù)據(jù),還可以代替?zhèn)鹘y(tǒng)的數(shù)據(jù)庫加鎖技術(shù))。49數(shù)值數(shù)據(jù)類型 1、整數(shù)型:(1)bigint(2)int(3)smallint(4)tinyint 2、精確數(shù)值型 3、浮點(diǎn)型 4、貨幣數(shù)值型50二、字符型 1、char類型 2、varchar類型 3、text類型三、日期時(shí)間型 1、datetime 2、samlldatetime51四、二進(jìn)制數(shù)據(jù)類型 1、binary 2、varbinary 3、image五、位型 bit:只存儲(chǔ)1及0——邏輯型六、特殊數(shù)據(jù)類型 1、雙字節(jié)數(shù)據(jù)類型:ncharnvarcharntext實(shí)際上是一種unicode(統(tǒng)一的字符編碼標(biāo)準(zhǔn),采用雙字節(jié)對(duì)字符編碼)數(shù)據(jù)類型。 2、時(shí)間戳數(shù)據(jù)類型:timestamp52第八章SQLServer數(shù)據(jù)庫系統(tǒng)概述開始下一頁SQLServer函數(shù)SQLServer的標(biāo)識(shí)符及命名規(guī)則53七、SQLServer函數(shù)數(shù)學(xué)函數(shù)字符串函數(shù)日期函數(shù)系統(tǒng)函數(shù)統(tǒng)計(jì)函數(shù)(重點(diǎn))其他常用函數(shù)54函數(shù)格式:函數(shù)名()一、

數(shù)學(xué)函數(shù)

用于對(duì)數(shù)字表達(dá)式進(jìn)行數(shù)學(xué)運(yùn)算并返回結(jié)果。一般只對(duì)數(shù)值型數(shù)據(jù)類型操作。55二、

字符串函數(shù)

一般對(duì)字符型表達(dá)式操作。但也有例外。如

分類:見P:221頁。表8-8例P:220例8-2例:select商品代號(hào),len(商品代號(hào))from商品表1例:selectleft(教師姓名,1),count(*)from教師表groupbyleft(教師姓名,1)例:selectlower(substring(商品代號(hào),1,3))aslower,upper(substring(商品代號(hào),1,3))asupperFROMspk1wherepricebetween11.0and20.0056例:declare@strrvarchar(60)set@strr='efghijk'select'abcd:'+ltrim(@strr)——》abcd:efghijkQ:若最后一行改為select'abcd:'+@strr,輸出結(jié)果——》abcd:efghijk57例3:declare@strrvarchar(60)set@strr='aBCDCDefghijk'selectleft(@strr,6)——》aBCDCD例4:usepubsselectcharindex('wonderful',notes,5)fromtitleswheretitle_id='TC3218'——》4758例5:declare@nachar(6)set@na='01'select*from教師表where教師ID=reverse(@na)例6:selectstuff('abcdef33',2,4,'ijklmn')——》aijklmnf33(用后面的字符取代第一個(gè)字符第二個(gè)位置開始的四個(gè)字符)59練習(xí)1:1、設(shè)變量ATC為‘1234’(后有三個(gè)空格),變量BTC為‘

5678’(前有三個(gè)空格),寫出程序清單,要求顯示出的結(jié)果為:‘’declare@ATCchar(7)declare@BTCchar(7)set@ATC='1234'set@BTC='5678'selectrtrim(@ATC)+ltrim(@BTC)2、如1中的變量,要求顯示的結(jié)果為‘87654321’,寫出程序清單。selectreverse(rtrim(@ATC)+ltrim(@BTC))603、如1中的變量,要求顯示的結(jié)果為‘’,寫出程序清單。selectstuff(rtrim(@ATC),3,1,ltrim(@BTC))4、定義變量QWE為‘ABCD’,AWE為‘EFGH’,要求顯示結(jié)果為‘a(chǎn)bcdefgh’,寫出程序清單。declare@ATCchar(4)declare@BTCchar(4)set@ATC='ABCD'set@BTC='EFGH'selectlower(@ATC+@BTC)

或者

selectlower(@ATC)+lower(@BTC)615、如4中的變量,要求顯示結(jié)果為‘ABgh’,寫出程序清單declare@ATCchar(4)declare@BTCchar(4)set@ATC='ABCD'set@BTC='EFGH'selectleft(@ATC,2)+lower(right(@BTC,2))62日期和時(shí)間函數(shù)

分類:見P:222頁。表8-9例8-3例1:usepubsselectdatediff(day,pubdate,getdate())asno_of_daysfromtitles將dayn改為year或month都可以,當(dāng)然意義與結(jié)果就不相同了。63例2:selectdatename(year,getdate())as‘Year_name'(年)

selectdatename(qq,getdate())as‘Year_name'(季度)selectdatename(hh,getdate())as‘Year_name'(小時(shí))例3、selectdatename(hh,getdate())+':'+datename(mi,getdate())as'Year_name'當(dāng)前的時(shí)間64系統(tǒng)函數(shù)用于返回有關(guān)系統(tǒng)、用戶、數(shù)據(jù)庫和數(shù)據(jù)庫對(duì)象的信息。例1、usemasterselectdbid,db_name(dbid)fromsysdatabasesorderbydbid

--從系統(tǒng)表中返回當(dāng)前服務(wù)器中所有的數(shù)據(jù)庫編號(hào)與名字

例2、selecthost_name()–返回機(jī)器名65轉(zhuǎn)換函數(shù)用于數(shù)據(jù)類型轉(zhuǎn)換。一般情況下,SQLSERVER會(huì)自動(dòng)處理某些數(shù)據(jù)類型的轉(zhuǎn)換(隱性轉(zhuǎn)換),但在某些情況下,轉(zhuǎn)換不理想時(shí),可用到轉(zhuǎn)換函數(shù)。只有兩個(gè):CONVERT和CASTCAST:強(qiáng)制轉(zhuǎn)換CONVERT:充許轉(zhuǎn)換表達(dá)式和日期類型。課本P:224,例8-5例1:usepubsselecttitle,ytd_salesfromtitleswhereCAST(ytd_salesaschar(20))like'15%'

andtype='trad_cook'like:模式匹配操作符,只對(duì)字符串起作用,%的作用與DOS的*相似。66例2:usepubsselecttitlefromtitleswheretitlelike'C%'

例3、selectgetdate()select'USA'=convert(char,getdate(),101)select'ANSI'=convert(char,getdate(),102)select'ISO'=convert(char,getdate(),112)67聚合函數(shù)及其他常用函數(shù):可能返回整個(gè)或幾個(gè)列或一個(gè)列的匯總數(shù)據(jù)。例:select*fromxscjbselectsum(ywen+sxue+yyu+tyu+zzhi)fromxscjbwherexming='xt'例:usepubsselectAVG(advance),sum(ytd_sales)fromtitleswheretype='business'681、ISDATE(表達(dá)式)2、ISNULL(表達(dá)式1,表達(dá)式2)例:查看教師任課表中課程名稱,系ID及沒有安排任課教師的給出提示usexsselect課程名稱,系ID,ISNULL(教師ID,'無任課教師')from教師任課表

3、NULIF(表達(dá)式

溫馨提示

  • 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. 人人文庫網(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)論