教學(xué)第4章-T-SQL語言基礎(chǔ)課件1_第1頁
教學(xué)第4章-T-SQL語言基礎(chǔ)課件1_第2頁
教學(xué)第4章-T-SQL語言基礎(chǔ)課件1_第3頁
教學(xué)第4章-T-SQL語言基礎(chǔ)課件1_第4頁
教學(xué)第4章-T-SQL語言基礎(chǔ)課件1_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章T-SQL語言基礎(chǔ)教學(xué)提示:SQL語言是結(jié)構(gòu)化查詢語言(StructureQueryLanguage)的英文縮寫,Transact-SQL是由國際標準化組織(ISO)和美國國家標準學(xué)會(ANSI)發(fā)布的SQL標準中定義的語言的擴展。用戶使用SQL編寫應(yīng)用程序可以完成所有的數(shù)據(jù)庫管理工作。教學(xué)要求:通過本章的學(xué)習(xí),應(yīng)掌握以下內(nèi)容T-SQL語言的基礎(chǔ)知識,主要包括數(shù)據(jù)類型、常量和變量、函數(shù)與表達式、批處理和流程控制語句。第4章T-SQL語言基礎(chǔ)教學(xué)提示:SQL語言是結(jié)構(gòu)化查詢語1

數(shù)據(jù)類型與常量2局部變量和全局變量3常用函數(shù)1.1數(shù)據(jù)類型1.2常量2.1SELECT語句無源查詢2.2局部變量2.3全局變量第4章T-SQL語言基礎(chǔ)(1)3.1數(shù)學(xué)函數(shù)3.2字符串函數(shù)3.3日期時間函數(shù)3.4聚合函數(shù)3.5系統(tǒng)函數(shù)3.6系統(tǒng)統(tǒng)計函數(shù)1數(shù)據(jù)類型與常量1.1數(shù)據(jù)類型2.1SELECT語句第4章T-SQL語言基礎(chǔ)1類型與常量2變量3函數(shù)4本節(jié)小結(jié)1.1數(shù)據(jù)類型1.2常量1數(shù)據(jù)類型與常量在T-SQL編程語言中常量、變量、表中的列、函數(shù)的自變量與函數(shù)值、過程參數(shù)及返回代碼、表達式等都具有數(shù)據(jù)類型,數(shù)據(jù)類型可分為精確數(shù)字(整數(shù)、位型、貨幣型、十進制)與近似數(shù)字、日期時間、字符與二進制(字符、Unicode、二進制)和特殊數(shù)據(jù)類型。第4章T-SQL語言基礎(chǔ)1類型與常量1.1數(shù)據(jù)類型1數(shù)第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)類型名稱取值范圍字節(jié)數(shù)整數(shù)bigint、int、smallint、tinyint(±922億億)(±21億)(±32768)(0-255)8421位型Bit由0和1表示真、假。1/8貨幣型money、smallmoney(±922萬億)(±21萬),精確到萬分之一。84十進制Decimal、Numeric±1038-1,最大位數(shù)38位5、9、13、或17浮點數(shù)float、real(±1.79E+308)(±3.40E+38)4(7),8(15)4(7)

數(shù)據(jù)類型是指數(shù)據(jù)所代表信息的類型。MicrosoftSQLServer2000中定義了24種數(shù)據(jù)類型,同時允許用戶自定義數(shù)據(jù)類型。第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量類型名第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)類型名稱取值范圍字節(jié)數(shù)日期時間Datetime、smalldatetime1753.1.1-9999.12.31,精確到3.33毫秒1900.1.1-2079.12.31,精確到分鐘84單字節(jié)字符char/varchar/text定/變長單字節(jié)字符,最長8000;

Unicode字符nchar/nvarchar/ntext定/變長雙字節(jié)字符,最長4000;二進制數(shù)據(jù)Binary/varbinary/image定/變長二進制數(shù)據(jù),最長8000;變長二進制數(shù)據(jù)特殊類型timestampSQL活動的先后順序。8uniqueidentifier全局唯一標識16第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量類型名第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型說明:1表中n表示字符串長度;2位型數(shù)據(jù)存儲格式:如果一個表中有8個以內(nèi)的bit

列,這些列用一個字節(jié)存儲。如果表中有9到16個bit

列,這些列用兩個字節(jié)存儲。依此類推。3十進制數(shù)據(jù)存儲精度:最高為38位;4日期時間類型:沒有指定小時以上精度的數(shù)據(jù),自動時間為00:00:00。5單字節(jié)字符串數(shù)據(jù)類型:一個字符(半個漢字)一個字節(jié)定長char:空間不足截斷尾部,空間多余空格填充;變長varchar:空間不足截斷尾部,多余空間不填空格;1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型說明:1類型與常量第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型

6

雙字節(jié)字符串數(shù)據(jù)類型,unicode字符類型(N代表國際語言NationalLanguage)一個字符/漢字占兩個字節(jié)定長字符串(nchar):,空間不足截斷尾部,空間多余空格填充;變長字符串(nvarchar):空間不足截斷尾部,多余空間不填空格;變長字符串(ntext):存儲大小是所輸入字符/漢字個數(shù)的兩倍(以字節(jié)為單位)。

7二進制數(shù)據(jù)類型:存儲Word文檔、聲音、圖表、圖像(包括GIF、BMP文件)等數(shù)據(jù)。在SQLServer中,除上述24種數(shù)據(jù)類型外,允許用戶在系統(tǒng)數(shù)據(jù)類型的基礎(chǔ)上建立自己定義的數(shù)據(jù)類型。但值得注意的是每個數(shù)據(jù)庫中所有用戶定義的數(shù)據(jù)類型名稱必須唯一。建立自己定義的數(shù)據(jù)類型則需要使用系統(tǒng)存儲過程sp_addtype來建立。1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型

6

雙第4章T-SQL語言基礎(chǔ)1.2常量

常量也稱為字面值或標量值,是表示一個特定數(shù)據(jù)值的符號。常量的值在程序運行過程中不會改變的。1類型與常量

數(shù)據(jù)類型常量2變量3函數(shù)4本節(jié)小結(jié)類型說明例如整型常量沒有小數(shù)點和指數(shù)E60,25,-365實型常量decimal或numeric帶小數(shù)點的常數(shù),float或real帶指數(shù)E的常數(shù)15.63、-200.25+123E-3、-12E5字符串常量單引號引起來'學(xué)生','thisisdatabase'雙字節(jié)字符串前綴N必須是大寫單引號引起來N'學(xué)生'第4章T-SQL語言基礎(chǔ)1.2常量常量也稱第4章T-SQL語言基礎(chǔ)1.2常量1類型與常量

數(shù)據(jù)類型常量2變量3函數(shù)4本節(jié)小結(jié)類型說明例如日期型常量單引號(')引起來'6/5/03','May122008','19491001'貨幣型常量精確數(shù)值型數(shù)據(jù),前綴$$380.2二進制常量前綴0x。0xAE、0x12Ef、0x69048AEFDD010E全局唯一標識符前綴0x單引號(')引起來0x6F9619FF8B86D011B42D00C04FC964FF'6F9619FF-8B86-D011-B42D-00C04FC964FF'第4章T-SQL語言基礎(chǔ)1.2常量1類型與常量類型說明例第4章T-SQL語言基礎(chǔ)2.1SELECT語句無源查詢2.2

局部變量2.3

全局變量2局部變量和全局變量1類型與常量2變量3函數(shù)4本節(jié)小結(jié)變量可分為局部變量和全局變量。局部變量是用來存儲指定數(shù)據(jù)類型的單個數(shù)據(jù)值的對象,全局變量是由系統(tǒng)提供且預(yù)先聲明的用來保存SQLServer系統(tǒng)運行狀態(tài)數(shù)據(jù)值的變量。無源select語句是用來查詢常量、變量、函數(shù)、表達式值的語句。第4章T-SQL語言基礎(chǔ)2.1SELECT語句無源查詢2第4章T-SQL語言基礎(chǔ)2.1SELECET語句無源查詢SQL查詢分析器是一種圖形工具。在查詢分析器中,用戶可以對單個SQL語句或由SQL語句編寫的腳本進行編寫調(diào)試。1類型與常量2變量無源查詢

局部變量

全局變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)2.1SELECET語句無源查詢第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢SQL查詢分析器常用快捷鍵表1類型與常量2變量無源查詢

局部變量

全局變量3函數(shù)4本節(jié)小結(jié)快捷鍵功能快捷鍵功能CTRL+A全選F3重復(fù)查找CTRL+C復(fù)制CTRL+H替換CTRL+V粘貼CTRL+SHIFT+L使選定內(nèi)容為小寫CTRL+X剪切CTRL+SHIFT+U使選定內(nèi)容為大寫CTRL+Z撤消CTRL+F5分析查詢并檢查語法TAB增大縮進F5執(zhí)行查詢SHIFT+TAB減小縮進ALT+BREAK取消查詢CTRL+SHIFT+C注釋代碼F1

查詢分析器幫助CTRL+SHIFT+R刪除注釋SHIFT+F1對所選SQL語句的幫助CTRL+F查找F8顯示/隱藏對象瀏覽器第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢S第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢SELECT語句無源查詢就是最簡單的語句。

SELECT常量|變量|函數(shù)|表達式[as別名][,…n]所謂無源查詢就是使用SELECT語句來查詢不在表中的數(shù)據(jù)。無源查詢實質(zhì)上就是在客戶機屏幕上顯示出常量、變量或表達式的值。1類型與常量2變量無源查詢

局部變量

全局變量3函數(shù)4本節(jié)小結(jié)【例4.1】使用SELECT語句查看常量。第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢S第4章T-SQL語言基礎(chǔ)2.2局部變量1類型與常量2變量

無源查詢局部變量

全局變量3函數(shù)4本節(jié)小結(jié)變量是由用戶定義并可賦值的實體。變量有全局變量和局部變量兩種。局部變量用DECLARE語句聲明,聲明時它被初始化為NULL,并由SET語句或SELECT語句賦值,它只能用在聲明該變量的過程實體中,即使用范圍是定義它的批、存儲過程和觸發(fā)器等。其名字由一個@符號開始。定義:DECLARE@局部變量名數(shù)據(jù)類型[,…n]賦值:SET@局部變量名=表達式[,…n]SELECT@局部變量名表達式【例4.2】使用SELECT語句查詢局部變量。第4章T-SQL語言基礎(chǔ)2.2局部變量1類型與常量變量是第4章T-SQL語言基礎(chǔ)2.3全局變量

全局變量全局變量由SQLServer系統(tǒng)提供并賦值的變量,名字由@@符號開始。用戶不能建立全局變量,也不可能使用SET語句去修改全局變量的值。通常應(yīng)該將全局變量的值賦給在同一個批中的局部變量,以便保存和處理。全局變量分為兩類:與連接有關(guān)的全局變量,如:@@rowcount影響的行數(shù);與系統(tǒng)內(nèi)部信息有關(guān)的全局變量。如@@versionSQL的版本號。1類型與常量2變量

無源查詢

局部變量全局變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)2.3全局變量第4章T-SQL語言基礎(chǔ)2.3全局變量SQL常用的全局變量表1類型與常量2變量

無源查詢

局部變量全局變量3函數(shù)4本節(jié)小結(jié)名稱說明@@connections返回當前到本服務(wù)器的連接的數(shù)目。@@rowcount返回上一條T-SQL語句影響的數(shù)據(jù)行數(shù)。@@error返回上一條T-SQL語句執(zhí)行后的錯誤號。@@procid返回當前存儲過程的ID號@@remserver返回登錄記錄中遠程服務(wù)器的名字。@@spid返回當前服務(wù)器進程的ID標識。@@version返回當前SQLServer服務(wù)器的版本和處理器類型。@@language返回當前SQLServer服務(wù)器的語言?!纠?.3】使用SELECT語句查詢?nèi)肿兞?。?章T-SQL語言基礎(chǔ)2.3全局變量SQL常用的全局第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)3.2字符串函數(shù)3.3日期時間函數(shù)3.4聚合函數(shù)3.5系統(tǒng)函數(shù)3.6系統(tǒng)統(tǒng)計函數(shù)3常用函數(shù)1類型與常量2變量3函數(shù)4本節(jié)小結(jié)在T-SQL編程語言中函數(shù)可分系統(tǒng)定義函數(shù)和用戶定義函數(shù)。本節(jié)介紹的是系統(tǒng)定義函數(shù)中最常用的數(shù)學(xué)函數(shù)、字符串函數(shù)、日期時間函數(shù)、聚合函數(shù)、系統(tǒng)函數(shù)、系統(tǒng)統(tǒng)計函數(shù)的最常用的部分。第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)3常用函數(shù)1類型第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)對作為函數(shù)參數(shù)提供的輸入值執(zhí)行計算,返回一個數(shù)字值。SQLServer2000中定義了23種數(shù)學(xué)函數(shù),表4.4是數(shù)值處理中最常用的數(shù)學(xué)函數(shù)。1類型與常量2變量3函數(shù)數(shù)學(xué)函數(shù)

字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)函數(shù)名稱ROUND(數(shù)字表達式,小數(shù)位數(shù))四舍五入FLOOR(數(shù)字表達式)整數(shù)函數(shù)CEILING(數(shù)字表達式)整數(shù)函數(shù)RAND()隨機函數(shù)【例4.4】使用SELECT語句查詢數(shù)學(xué)函數(shù)。第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)對作為函數(shù)第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)字符串函數(shù)對字符串輸入值執(zhí)行操作,返回一個字符串或數(shù)字值。1類型與常量2變量3函數(shù)

數(shù)學(xué)函數(shù)字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)名稱函數(shù)ASCII碼ASCII(字符表達式)字符CHAR(數(shù)字表達式)統(tǒng)一代碼UNICODE(字符表達式)字符NCHAR(數(shù)字表達式)小寫LOWER(字符表達式)大寫UPPER(字符表達式)長度LEN(字符表達式)空格SPACE(數(shù)字表達式)【例4.5】字符、編碼函數(shù)【例4.6】長度、大小寫函數(shù)第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)字符串函數(shù)對字符第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)1類型與常量2變量3函數(shù)

數(shù)學(xué)函數(shù)字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)【例4.7】字符串函數(shù)【例4.8】字符串函數(shù)名稱函數(shù)截取左字串LEFT(字符表達式,整數(shù))截取右字串RIGHT(字符表達式,整數(shù))截取中間字串SUBSTRING(字符表達式,起始點,n)求子串位置CHARINDEX(字符表達式1,

字符表達式2,[開始位置])剪去左空格LTRIM(字符表達式)剪去右空格RTRIM(字符表達式)重復(fù)字串REPLICATE(字符表達式,n)倒置字串REVERSE(字符表達式)數(shù)值轉(zhuǎn)字串STR(數(shù)字表達式)第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)1類型與常量【例第4章T-SQL語言基礎(chǔ)3.3日期時間函數(shù)1類型與常量2變量3函數(shù)

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

字符串函數(shù)日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)對日期和時間輸入值執(zhí)行操作,返回一個字符串、數(shù)字或日期和時間值?!纠?.9】日期函數(shù)【例4.10】日期函數(shù)名稱函數(shù)現(xiàn)在日期時間GETDATE()年YEAR(日期型表達式)月MONTH(日期型表達式)日DAY(日期型表達式)日期部分DATEPART(格式串,日期型表達式)日期加DATEADD(格式串,數(shù)值,日期)日期差DATEDIFF(格式串,日期1,日期2)第4章T-SQL語言基礎(chǔ)3.3日期時間函數(shù)1類型與常量對第4章T-SQL語言基礎(chǔ)3.4聚合函數(shù)

聚合函數(shù)對一組值執(zhí)行計算并返回單一的值。除COUNT函數(shù)之外,聚合函數(shù)忽略空值,聚合函數(shù)主要用于select語句groupby子句、computeby子句,具體例子請參閱第6章

查詢與視圖。1類型與常量2變量3函數(shù)

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

字符串函數(shù)

日期時間函數(shù)聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)名稱最大最小求和平均計數(shù)函數(shù)MAXMINSUMAVGCOUNT第4章T-SQL語言基礎(chǔ)3.4聚合函數(shù)聚合第4章T-SQL語言基礎(chǔ)3.5系統(tǒng)函數(shù)系統(tǒng)函數(shù)返回有關(guān)SQLServer中的狀態(tài)值、對象和設(shè)置的信息。1類型與常量2變量3函數(shù)

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

字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)【例4.11】函數(shù)說明APP_NAME當前會話的應(yīng)用程序名稱CURRENT_USER當前的數(shù)據(jù)庫用戶。USER_NAME用戶數(shù)據(jù)庫用戶名。SESSION_USER會話用戶名SYSTEM_USER系統(tǒng)用戶名HOST_ID工作站標識號。HOST_NAME工作站名稱。ISDATE是否為有效的日期。ISNULL是否為NULL。ISNUMERIC是否為一個有效的數(shù)字類型。@@ERROR最后執(zhí)行的

T-SQL語句的錯誤代碼。@@TRANCOUNT當前連接的活動事務(wù)數(shù)。第4章T-SQL語言基礎(chǔ)3.5系統(tǒng)函數(shù)系統(tǒng)函數(shù)返回有關(guān)第4章T-SQL語言基礎(chǔ)3.6系統(tǒng)統(tǒng)計函數(shù)系統(tǒng)統(tǒng)計函數(shù)返回系統(tǒng)的統(tǒng)計信息。1類型與常量2變量3函數(shù)

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

字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)【例4.12】函數(shù)說明@@CONNECTIONS連接次數(shù)。@@CPU_BUSYCPU的工作時間@@IDLE閑置的時間@@IO_BUSY輸入和輸出的時間@@TIMETICKS返回一刻度的微秒@@PACK_SENT發(fā)送的數(shù)據(jù)包數(shù)@@PACK_RECEIVED接受的數(shù)據(jù)包數(shù)@@PACKET_ERRORS發(fā)生的數(shù)據(jù)包錯誤@@TOTAL_WRITE寫入磁盤的次數(shù)@@TOTAL_READ讀取磁盤的次數(shù)@@TOTAL_ERRORS磁盤讀/寫錯誤次數(shù)第4章T-SQL語言基礎(chǔ)3.6系統(tǒng)統(tǒng)計函數(shù)系統(tǒng)統(tǒng)計函數(shù)返第4章T-SQL語言基礎(chǔ)4本節(jié)小結(jié)

本章講述了Transact-SQL的數(shù)據(jù)類型,它們是精確數(shù)字(整數(shù)、位型、貨幣型、十進制)、近似數(shù)值、日期時間、字符與二進制(字符、Unicode、二進制)和特殊數(shù)據(jù)類型等,另外還講述了Transact-SQL的常量與變量、函數(shù)、運算符與表達式和流控制語句等。本章是讀者學(xué)習(xí)SQL語言的基礎(chǔ),只有理解和掌握它們的用法,才能正確編寫SQL程序和深入理解SQL語言。表4.8-表4.10列出要求掌握的T-SQL語言基本要素。

1類型與常量2變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)4本節(jié)小結(jié)本章講述了Tr第4章T-SQL語言基礎(chǔ)教學(xué)提示:SQL語言是結(jié)構(gòu)化查詢語言(StructureQueryLanguage)的英文縮寫,Transact-SQL是由國際標準化組織(ISO)和美國國家標準學(xué)會(ANSI)發(fā)布的SQL標準中定義的語言的擴展。用戶使用SQL編寫應(yīng)用程序可以完成所有的數(shù)據(jù)庫管理工作。教學(xué)要求:通過本章的學(xué)習(xí),應(yīng)掌握以下內(nèi)容T-SQL語言的基礎(chǔ)知識,主要包括數(shù)據(jù)類型、常量和變量、函數(shù)與表達式、批處理和流程控制語句。第4章T-SQL語言基礎(chǔ)教學(xué)提示:SQL語言是結(jié)構(gòu)化查詢語1

數(shù)據(jù)類型與常量2局部變量和全局變量3常用函數(shù)1.1數(shù)據(jù)類型1.2常量2.1SELECT語句無源查詢2.2局部變量2.3全局變量第4章T-SQL語言基礎(chǔ)(1)3.1數(shù)學(xué)函數(shù)3.2字符串函數(shù)3.3日期時間函數(shù)3.4聚合函數(shù)3.5系統(tǒng)函數(shù)3.6系統(tǒng)統(tǒng)計函數(shù)1數(shù)據(jù)類型與常量1.1數(shù)據(jù)類型2.1SELECT語句第4章T-SQL語言基礎(chǔ)1類型與常量2變量3函數(shù)4本節(jié)小結(jié)1.1數(shù)據(jù)類型1.2常量1數(shù)據(jù)類型與常量在T-SQL編程語言中常量、變量、表中的列、函數(shù)的自變量與函數(shù)值、過程參數(shù)及返回代碼、表達式等都具有數(shù)據(jù)類型,數(shù)據(jù)類型可分為精確數(shù)字(整數(shù)、位型、貨幣型、十進制)與近似數(shù)字、日期時間、字符與二進制(字符、Unicode、二進制)和特殊數(shù)據(jù)類型。第4章T-SQL語言基礎(chǔ)1類型與常量1.1數(shù)據(jù)類型1數(shù)第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)類型名稱取值范圍字節(jié)數(shù)整數(shù)bigint、int、smallint、tinyint(±922億億)(±21億)(±32768)(0-255)8421位型Bit由0和1表示真、假。1/8貨幣型money、smallmoney(±922萬億)(±21萬),精確到萬分之一。84十進制Decimal、Numeric±1038-1,最大位數(shù)38位5、9、13、或17浮點數(shù)float、real(±1.79E+308)(±3.40E+38)4(7),8(15)4(7)

數(shù)據(jù)類型是指數(shù)據(jù)所代表信息的類型。MicrosoftSQLServer2000中定義了24種數(shù)據(jù)類型,同時允許用戶自定義數(shù)據(jù)類型。第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量類型名第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)類型名稱取值范圍字節(jié)數(shù)日期時間Datetime、smalldatetime1753.1.1-9999.12.31,精確到3.33毫秒1900.1.1-2079.12.31,精確到分鐘84單字節(jié)字符char/varchar/text定/變長單字節(jié)字符,最長8000;

Unicode字符nchar/nvarchar/ntext定/變長雙字節(jié)字符,最長4000;二進制數(shù)據(jù)Binary/varbinary/image定/變長二進制數(shù)據(jù),最長8000;變長二進制數(shù)據(jù)特殊類型timestampSQL活動的先后順序。8uniqueidentifier全局唯一標識16第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型1類型與常量類型名第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型說明:1表中n表示字符串長度;2位型數(shù)據(jù)存儲格式:如果一個表中有8個以內(nèi)的bit

列,這些列用一個字節(jié)存儲。如果表中有9到16個bit

列,這些列用兩個字節(jié)存儲。依此類推。3十進制數(shù)據(jù)存儲精度:最高為38位;4日期時間類型:沒有指定小時以上精度的數(shù)據(jù),自動時間為00:00:00。5單字節(jié)字符串數(shù)據(jù)類型:一個字符(半個漢字)一個字節(jié)定長char:空間不足截斷尾部,空間多余空格填充;變長varchar:空間不足截斷尾部,多余空間不填空格;1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型說明:1類型與常量第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型

6

雙字節(jié)字符串數(shù)據(jù)類型,unicode字符類型(N代表國際語言NationalLanguage)一個字符/漢字占兩個字節(jié)定長字符串(nchar):,空間不足截斷尾部,空間多余空格填充;變長字符串(nvarchar):空間不足截斷尾部,多余空間不填空格;變長字符串(ntext):存儲大小是所輸入字符/漢字個數(shù)的兩倍(以字節(jié)為單位)。

7二進制數(shù)據(jù)類型:存儲Word文檔、聲音、圖表、圖像(包括GIF、BMP文件)等數(shù)據(jù)。在SQLServer中,除上述24種數(shù)據(jù)類型外,允許用戶在系統(tǒng)數(shù)據(jù)類型的基礎(chǔ)上建立自己定義的數(shù)據(jù)類型。但值得注意的是每個數(shù)據(jù)庫中所有用戶定義的數(shù)據(jù)類型名稱必須唯一。建立自己定義的數(shù)據(jù)類型則需要使用系統(tǒng)存儲過程sp_addtype來建立。1類型與常量數(shù)據(jù)類型

常量2變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)1.1數(shù)據(jù)類型

6

雙第4章T-SQL語言基礎(chǔ)1.2常量

常量也稱為字面值或標量值,是表示一個特定數(shù)據(jù)值的符號。常量的值在程序運行過程中不會改變的。1類型與常量

數(shù)據(jù)類型常量2變量3函數(shù)4本節(jié)小結(jié)類型說明例如整型常量沒有小數(shù)點和指數(shù)E60,25,-365實型常量decimal或numeric帶小數(shù)點的常數(shù),float或real帶指數(shù)E的常數(shù)15.63、-200.25+123E-3、-12E5字符串常量單引號引起來'學(xué)生','thisisdatabase'雙字節(jié)字符串前綴N必須是大寫單引號引起來N'學(xué)生'第4章T-SQL語言基礎(chǔ)1.2常量常量也稱第4章T-SQL語言基礎(chǔ)1.2常量1類型與常量

數(shù)據(jù)類型常量2變量3函數(shù)4本節(jié)小結(jié)類型說明例如日期型常量單引號(')引起來'6/5/03','May122008','19491001'貨幣型常量精確數(shù)值型數(shù)據(jù),前綴$$380.2二進制常量前綴0x。0xAE、0x12Ef、0x69048AEFDD010E全局唯一標識符前綴0x單引號(')引起來0x6F9619FF8B86D011B42D00C04FC964FF'6F9619FF-8B86-D011-B42D-00C04FC964FF'第4章T-SQL語言基礎(chǔ)1.2常量1類型與常量類型說明例第4章T-SQL語言基礎(chǔ)2.1SELECT語句無源查詢2.2

局部變量2.3

全局變量2局部變量和全局變量1類型與常量2變量3函數(shù)4本節(jié)小結(jié)變量可分為局部變量和全局變量。局部變量是用來存儲指定數(shù)據(jù)類型的單個數(shù)據(jù)值的對象,全局變量是由系統(tǒng)提供且預(yù)先聲明的用來保存SQLServer系統(tǒng)運行狀態(tài)數(shù)據(jù)值的變量。無源select語句是用來查詢常量、變量、函數(shù)、表達式值的語句。第4章T-SQL語言基礎(chǔ)2.1SELECT語句無源查詢2第4章T-SQL語言基礎(chǔ)2.1SELECET語句無源查詢SQL查詢分析器是一種圖形工具。在查詢分析器中,用戶可以對單個SQL語句或由SQL語句編寫的腳本進行編寫調(diào)試。1類型與常量2變量無源查詢

局部變量

全局變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)2.1SELECET語句無源查詢第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢SQL查詢分析器常用快捷鍵表1類型與常量2變量無源查詢

局部變量

全局變量3函數(shù)4本節(jié)小結(jié)快捷鍵功能快捷鍵功能CTRL+A全選F3重復(fù)查找CTRL+C復(fù)制CTRL+H替換CTRL+V粘貼CTRL+SHIFT+L使選定內(nèi)容為小寫CTRL+X剪切CTRL+SHIFT+U使選定內(nèi)容為大寫CTRL+Z撤消CTRL+F5分析查詢并檢查語法TAB增大縮進F5執(zhí)行查詢SHIFT+TAB減小縮進ALT+BREAK取消查詢CTRL+SHIFT+C注釋代碼F1

查詢分析器幫助CTRL+SHIFT+R刪除注釋SHIFT+F1對所選SQL語句的幫助CTRL+F查找F8顯示/隱藏對象瀏覽器第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢S第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢SELECT語句無源查詢就是最簡單的語句。

SELECT常量|變量|函數(shù)|表達式[as別名][,…n]所謂無源查詢就是使用SELECT語句來查詢不在表中的數(shù)據(jù)。無源查詢實質(zhì)上就是在客戶機屏幕上顯示出常量、變量或表達式的值。1類型與常量2變量無源查詢

局部變量

全局變量3函數(shù)4本節(jié)小結(jié)【例4.1】使用SELECT語句查看常量。第4章T-SQL語言基礎(chǔ)2.1SELECE語句無源查詢S第4章T-SQL語言基礎(chǔ)2.2局部變量1類型與常量2變量

無源查詢局部變量

全局變量3函數(shù)4本節(jié)小結(jié)變量是由用戶定義并可賦值的實體。變量有全局變量和局部變量兩種。局部變量用DECLARE語句聲明,聲明時它被初始化為NULL,并由SET語句或SELECT語句賦值,它只能用在聲明該變量的過程實體中,即使用范圍是定義它的批、存儲過程和觸發(fā)器等。其名字由一個@符號開始。定義:DECLARE@局部變量名數(shù)據(jù)類型[,…n]賦值:SET@局部變量名=表達式[,…n]SELECT@局部變量名表達式【例4.2】使用SELECT語句查詢局部變量。第4章T-SQL語言基礎(chǔ)2.2局部變量1類型與常量變量是第4章T-SQL語言基礎(chǔ)2.3全局變量

全局變量全局變量由SQLServer系統(tǒng)提供并賦值的變量,名字由@@符號開始。用戶不能建立全局變量,也不可能使用SET語句去修改全局變量的值。通常應(yīng)該將全局變量的值賦給在同一個批中的局部變量,以便保存和處理。全局變量分為兩類:與連接有關(guān)的全局變量,如:@@rowcount影響的行數(shù);與系統(tǒng)內(nèi)部信息有關(guān)的全局變量。如@@versionSQL的版本號。1類型與常量2變量

無源查詢

局部變量全局變量3函數(shù)4本節(jié)小結(jié)第4章T-SQL語言基礎(chǔ)2.3全局變量第4章T-SQL語言基礎(chǔ)2.3全局變量SQL常用的全局變量表1類型與常量2變量

無源查詢

局部變量全局變量3函數(shù)4本節(jié)小結(jié)名稱說明@@connections返回當前到本服務(wù)器的連接的數(shù)目。@@rowcount返回上一條T-SQL語句影響的數(shù)據(jù)行數(shù)。@@error返回上一條T-SQL語句執(zhí)行后的錯誤號。@@procid返回當前存儲過程的ID號@@remserver返回登錄記錄中遠程服務(wù)器的名字。@@spid返回當前服務(wù)器進程的ID標識。@@version返回當前SQLServer服務(wù)器的版本和處理器類型。@@language返回當前SQLServer服務(wù)器的語言。【例4.3】使用SELECT語句查詢?nèi)肿兞?。?章T-SQL語言基礎(chǔ)2.3全局變量SQL常用的全局第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)3.2字符串函數(shù)3.3日期時間函數(shù)3.4聚合函數(shù)3.5系統(tǒng)函數(shù)3.6系統(tǒng)統(tǒng)計函數(shù)3常用函數(shù)1類型與常量2變量3函數(shù)4本節(jié)小結(jié)在T-SQL編程語言中函數(shù)可分系統(tǒng)定義函數(shù)和用戶定義函數(shù)。本節(jié)介紹的是系統(tǒng)定義函數(shù)中最常用的數(shù)學(xué)函數(shù)、字符串函數(shù)、日期時間函數(shù)、聚合函數(shù)、系統(tǒng)函數(shù)、系統(tǒng)統(tǒng)計函數(shù)的最常用的部分。第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)3常用函數(shù)1類型第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)對作為函數(shù)參數(shù)提供的輸入值執(zhí)行計算,返回一個數(shù)字值。SQLServer2000中定義了23種數(shù)學(xué)函數(shù),表4.4是數(shù)值處理中最常用的數(shù)學(xué)函數(shù)。1類型與常量2變量3函數(shù)數(shù)學(xué)函數(shù)

字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)函數(shù)名稱ROUND(數(shù)字表達式,小數(shù)位數(shù))四舍五入FLOOR(數(shù)字表達式)整數(shù)函數(shù)CEILING(數(shù)字表達式)整數(shù)函數(shù)RAND()隨機函數(shù)【例4.4】使用SELECT語句查詢數(shù)學(xué)函數(shù)。第4章T-SQL語言基礎(chǔ)3.1數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)對作為函數(shù)第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)字符串函數(shù)對字符串輸入值執(zhí)行操作,返回一個字符串或數(shù)字值。1類型與常量2變量3函數(shù)

數(shù)學(xué)函數(shù)字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)名稱函數(shù)ASCII碼ASCII(字符表達式)字符CHAR(數(shù)字表達式)統(tǒng)一代碼UNICODE(字符表達式)字符NCHAR(數(shù)字表達式)小寫LOWER(字符表達式)大寫UPPER(字符表達式)長度LEN(字符表達式)空格SPACE(數(shù)字表達式)【例4.5】字符、編碼函數(shù)【例4.6】長度、大小寫函數(shù)第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)字符串函數(shù)對字符第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)1類型與常量2變量3函數(shù)

數(shù)學(xué)函數(shù)字符串函數(shù)

日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)【例4.7】字符串函數(shù)【例4.8】字符串函數(shù)名稱函數(shù)截取左字串LEFT(字符表達式,整數(shù))截取右字串RIGHT(字符表達式,整數(shù))截取中間字串SUBSTRING(字符表達式,起始點,n)求子串位置CHARINDEX(字符表達式1,

字符表達式2,[開始位置])剪去左空格LTRIM(字符表達式)剪去右空格RTRIM(字符表達式)重復(fù)字串REPLICATE(字符表達式,n)倒置字串REVERSE(字符表達式)數(shù)值轉(zhuǎn)字串STR(數(shù)字表達式)第4章T-SQL語言基礎(chǔ)3.2字符串函數(shù)1類型與常量【例第4章T-SQL語言基礎(chǔ)3.3日期時間函數(shù)1類型與常量2變量3函數(shù)

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

字符串函數(shù)日期時間函數(shù)

聚合函數(shù)

系統(tǒng)函數(shù)

系統(tǒng)統(tǒng)計函數(shù)4本節(jié)小結(jié)對日期和時間輸入值執(zhí)

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論