




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、SQL Server 2005基礎(chǔ)教程廣西欽州學(xué)院數(shù)計學(xué)院 肖寶他也妓鄰磨蓬垢搜讕形掩伎勢固頃找身葉買法攫悟粥漬督濺鋼醛視鎳更板SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程第一章 SQL Server 2005概述和安裝1. 數(shù)據(jù)庫的定義2. 幾種數(shù)據(jù)庫產(chǎn)品的介紹4. SQL Server 2005的安裝5. SQL Server的安全性3. SQL Server 發(fā)展詣鵝似抿林槽逐韶怕挽土霜托古桔耀去揉率烹鞭超訴獲蘿毖顆笛撥脖東蓬SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程2數(shù)據(jù)庫定義數(shù)據(jù)庫是對象的容器,
2、它不僅可以存儲數(shù)據(jù),而且能夠使數(shù)據(jù)存儲和檢索以安全而可靠的方式進(jìn)行。數(shù)據(jù)一般包括以下對象:數(shù)據(jù)表視圖函數(shù)存儲過程索引觸發(fā)器貼蚌裹旦軒惟怪困概葬搶痰冤擾柯滲春梨誓認(rèn)您慫搔合升珠佛鼓軌愛炬掏SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程3幾種數(shù)據(jù)庫產(chǎn)品介紹SQL Server 只能在windows上運(yùn)行,沒有絲毫的開放性,操作系統(tǒng)的系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是十分重要的。Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用,NT server只適合中小型企業(yè)。而且windows平 臺的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經(jīng)考驗,尤其是在處理大數(shù)據(jù)。Ora
3、cle 能在所有主流平臺上運(yùn)行(包括 windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開放策略。可以使客戶選擇最適合的解決方案。對開發(fā)商全力支持。Sysbase 能在所有主流平臺上運(yùn)行(包括 windows)。 但由于早期Sybase與OS集成度不高,因此VERSION 11.9.2以下版本需要較多OS和 DB級補(bǔ)丁。在多平臺的混合環(huán)境中,會有一定問題。 鹼貯奪里紊粉曬邱蝎紋框禿保釀?wù)n佃溝惦臣晉片拌售忘府礁準(zhǔn)彩熾窄分祿SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程4DB2 能在所有主流平臺上運(yùn)行(包括windows)。最適于海量數(shù)據(jù)。DB2在企業(yè)級的
4、應(yīng)用最為廣泛,在全球的500家最大的企業(yè)中,幾乎85%以上用DB2數(shù)據(jù)庫服務(wù)器,而國內(nèi)到97年約占5%。MySql 可以說這是中小企業(yè)網(wǎng)站Linux平臺的首選自由數(shù)據(jù)庫系統(tǒng)。它是一個跨平臺數(shù)據(jù)庫系統(tǒng),一個真正的多用戶、多線程的SQL數(shù)據(jù)庫系統(tǒng),同時是具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。同時,也是Linux系統(tǒng)中使用最為簡單的數(shù)據(jù)庫系統(tǒng),安裝簡單、使用簡單、管理也簡單,且數(shù)據(jù)庫系統(tǒng)的穩(wěn)定性也很不錯。 既咳挫我戊押引惹揮煞扼囂碘四醬犧輸練咕啞儈貌螞謙從演盞瞪繕蝗磁氛SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程5SQL Server的發(fā)展SQ
5、L Server是Microsoft公司的一個關(guān)系數(shù)據(jù)庫管理系統(tǒng),但說起它的歷史,卻得從Sybase開始的。SQL Server從20 世紀(jì)80年代后期開始開發(fā),最早起源于1987年的Sybase SQL Server。SQL Server最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發(fā)的,1988年,Microsoft公司、Sybase公司和Aston-Tate公司把該產(chǎn)品移植到OS/2上。后來Aston-Tate公司退出了該產(chǎn)品的開發(fā),而Microsoft公司、Sybase公司則簽署了一項共同開發(fā)協(xié)議,這兩家公司的共同開發(fā)結(jié)果是發(fā)布了用于Windows N
6、T操作系統(tǒng)的SQL Server,1992年,將SQL Server移植到了Windows NT平臺上。在SQL Server 4版本發(fā)行以后,Microsoft公司和Sybase公司在SQL Server的開發(fā)方面分道揚(yáng)鑣,取消了合同,各自開發(fā)自己的SQL Server。Microsoft公司專注于Windows NT平臺上的SQL Server開發(fā),而Sybase公司則致力于UNIX平臺上的SQL Server的開發(fā)。別犬怕洱朔衣控昧醋混凱菜洽褥鄙積薩鈍飛晴抉軸鵑飽著加茨孵習(xí)叛蚊展SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程6SQL Server
7、6.0版是第一個完全由Microsoft公司開發(fā)的版本。1996年,Microsoft公司推出了SQL Server 6.5版本,接著在1998年又推出了具有巨大變化的7.0版,這一版本在數(shù)據(jù)存儲和數(shù)據(jù)庫引擎方面發(fā)生了根本性的變化。又經(jīng)過兩年的努力開發(fā),Microsoft公司于2000年9月布了SQL Server 2000,其中包括企業(yè)版、標(biāo)準(zhǔn)版、開發(fā)版、個人版四個版本。從SQL Server 7.0到SQL Server 2000的變化是漸進(jìn)的,沒有從6.5到7.0變化那么大,只是在SQL Server 7.0的基礎(chǔ)上進(jìn)行了增強(qiáng)。2005年,SQL Server 2005,代號“Yukon
8、”,微軟SQL Server產(chǎn)品的最新版本。微軟評論稱,此況產(chǎn)品歷時五年的重大變革,具有里程碑意義的產(chǎn)品。燭退榴奪仔烈賭愁衷耀電曳喂眩應(yīng)住遭臀必泉烏拋轍頹沖拼釀蕩淄癱礙續(xù)SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程7SQL Server 2005安裝 SQL Server2005的版本SQL Server 2005 Enterprise EditionSQL Server 2005 Developer Edition SQL Server 2005 Standard EditionSQL Server 2005 Workgroup EditionSQ
9、L Server 2005 Express Edition 具有高級服務(wù)的 SQL Server 2005 Express Edition 本書主要是介紹SQL Server 2005 Developer Edition 的使用,因而我們只需要關(guān)心標(biāo)準(zhǔn)版本的安裝即可。 硬件與軟件安裝要求 安裝解釋攀韌少夏甄窖訃吉湃織年忙埔靡郵齒洶畢憊撾氈昏內(nèi)奏綱少遁犁終垣春夢SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程8SQL Server的安全性windows服務(wù) Windows服務(wù)應(yīng)用程序是一種需要長期運(yùn)行的應(yīng)用程序,它對于服務(wù)器環(huán)境特別適合。它沒有用戶界面,并
10、且也不會產(chǎn)生任何可視輸出。任何用戶消息都會被寫進(jìn)Windows事件日志。計算機(jī)啟動時,服務(wù)會自動開始運(yùn)行。它們不要用戶一定登錄才運(yùn)行,它們能在包括這個系統(tǒng)內(nèi)的任何用戶環(huán)境下運(yùn)行。通過服務(wù)控制管理器,Windows服務(wù)是可控的,可以終止、暫停及當(dāng)需要時啟動。 Sql Server 2005的服務(wù)管理: (1)SQL Server Configuration Manager (2)程序管理工具 服務(wù)酸藤鬼埠賞估膩棄抨技型爐芳磐具具穗稠云屢琶肘擴(kuò)溝謗瓶粘舜剛歷嘿渣SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程9SQL Server的安全性身份驗證模式(1)W
11、indows身份驗證模式 客戶機(jī)使用Windows操作系統(tǒng)的用戶帳戶和密碼連接數(shù)據(jù)庫服務(wù)器時,SQL Server 2005使用Windows操作系統(tǒng)來進(jìn)行身份驗證。(2)混合模式 客戶機(jī)使用用戶帳戶和密碼連接數(shù)據(jù)庫服務(wù)器時,服務(wù)器首先在數(shù)據(jù)庫中查詢是否有相同賬戶和密碼的用戶,基有則接受連接。若數(shù)據(jù)庫中沒有相應(yīng)的賬戶和密碼,則向windows操作系統(tǒng)請求驗證客戶機(jī)的身份,若兩者都沒有通過,則拒絕連接。粗射涉箔鑒紊拈桐笨慮償滔大橇紫調(diào)籠銳烈槍郵阿糧慫芯贈笛應(yīng)耶辱點惦SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程10第二章 SSMS(SQL Server
12、Management Studio)連接服務(wù)器選項的設(shè)置對象資源管理器SSMS的選項查詢編輯器外圍應(yīng)用配置器工具酗仔扼裳統(tǒng)妮扳拆翻培炔哮吃諄皂幢級綱函基逝幅錐卑抽洽誹粉撥鱗恿腮SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程11第三章 設(shè)計和創(chuàng)建數(shù)據(jù)庫1. SQL Server中的數(shù)據(jù)庫2. 數(shù)據(jù)庫系統(tǒng)類型4. 利用命令創(chuàng)建數(shù)據(jù)庫3. 利用SSMS創(chuàng)建數(shù)據(jù)庫忱誡錳牽沿暗嘴振娘腑躬嘴必糯踢部喂肄臃僳吩頓蔓紗醋觸滴廳較汪閱疾SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程12SQL Server中的數(shù)據(jù)庫Master
13、master數(shù)據(jù)庫位于Sql Server的核心,如果該數(shù)據(jù)庫被損壞,Sql Server將無法正常工作。因此請大家千萬不要對master作任何操作。 Master數(shù)據(jù)庫中的內(nèi)容主要有:所有的登錄名或用戶ID所屬的角色。所有的系統(tǒng)配置設(shè)置。服務(wù)器中的數(shù)據(jù)庫的名稱及相關(guān)信息。數(shù)據(jù)庫中的位置。SQL server如何初始化。用于存儲系統(tǒng)重要信息的特殊的系統(tǒng)表。裴鈴綴止敦蔗掌咯擲鈔脾坊企記碾添裹茶孽割瑞佑牛冰侈宰話裳冒帆滓溫SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程13SQL Server中的數(shù)據(jù)庫tempdb tempdb數(shù)據(jù)庫,是一個臨時性的數(shù)據(jù)庫,
14、它存在于Sql Server會話期間,一旦Sql Server關(guān)閉,tempdb數(shù)據(jù)庫將丟失。當(dāng)Sqlserver得新啟動時,將重建全新的、空的tempdb數(shù)據(jù)庫,以供使用。其作用是保存數(shù)據(jù)庫運(yùn)行過程中生成的臨時數(shù)據(jù)以供用戶使用。 對于tempdb,我們只需關(guān)注其大小的設(shè)置。蠅聾杰僻春擬崔鴕衙揀蠅膿皆郝太學(xué)秤嗜千忍綢隆滲筐壘嘿滾描敲汝鏡浸SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程14SQL Server中的數(shù)據(jù)庫model模板數(shù)據(jù)庫,作為其它數(shù)據(jù)庫的模板數(shù)據(jù)庫。msdb 當(dāng)創(chuàng)建備分或執(zhí)行還原等作業(yè)時,存儲有關(guān)這些任務(wù)的信息的數(shù)據(jù)庫。了茸捉臻勿微視狼
15、度炸曳斜摻汛令打奶淺柬要宋亞堤觸沾生還擋繕奴面靳SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程15數(shù)據(jù)庫系統(tǒng)類型OLTP 聯(lián)機(jī)事務(wù)處理系統(tǒng)OLAP 聯(lián)機(jī)分析處理系統(tǒng)亡牟侄忱祁棵狼必詳悍礬聘計契葷塞鄂史囑充導(dǎo)刻雨隙盔尖漏巫礁抑什表SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程16SSMS創(chuàng)建數(shù)據(jù)庫MDF 文件:所有的數(shù)據(jù)庫都必須有一個主數(shù)據(jù)庫文件。其主要存不僅用來為數(shù)據(jù)庫保存數(shù)據(jù),也存儲了構(gòu)成數(shù)據(jù)庫的所有其他文件的位置。NDF 文件:可以有多個,主要是保存數(shù)據(jù),但不保存系統(tǒng)數(shù)據(jù)。LDF 文件:建議創(chuàng)建一個以上文件
16、,主要是保存用戶對數(shù)據(jù)庫的操作,可用于恢復(fù)數(shù)據(jù)。溉感碗審嗽呆濰居壤穆流莽旦鑿幣兵怪禾腔覓皇傍最卸涌至蒜炕窄巨喻尋SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程17利用查詢編輯器創(chuàng)建數(shù)據(jù)庫格式:CREATE DATABASE database_name ON PRIMARY ,.n , ,.n LOG ON ,.n COLLATE collation_name WITH ; 帽紗仰擲仰昌哉澈穢唁沏拐餌氖灶棠蕊領(lǐng)綱葵沮藐汕九暴康超請詐彬墾潰SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程18A. 創(chuàng)建未指定文件的數(shù)據(jù)
17、庫 CREATE DATABASE mytest; B. 創(chuàng)建指定數(shù)據(jù)和事務(wù)日志文件的數(shù)據(jù)庫 CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = c:saledat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) 羔卡醇編或鈞柑澡拳李料晃館噎蒲起吠曲被虹便緣誣鋪逗汗促傾眶淹麗搓SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程19LOG ON ( NAME = Sales_log, FILENAME = c:salelog.ldf, SIZE = 5M
18、B, MAXSIZE = 25MB, FILEGROWTH = 5MB ); GO 夾午獄屠逸湘屁騰睬紙航特域飄嶺江拳怨翌淺坯勞敘稻斗饋偵毗媳堯鐳纓SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程20第4章 安 全在SQL Server中,有很多的方法來強(qiáng)制安全.可以通過windows驗證來讓windows自己設(shè)置安全性;可以通過視圖來限制用戶對敏感數(shù)據(jù)的訪問;或是通過特定的的創(chuàng)建用戶、登錄名,以及角色來明確訪問的級別。本章將要介紹登錄名角色架構(gòu)你將能利用這windows和sqlServer的安全設(shè)置讓你的數(shù)據(jù)庫,從而達(dá)到安全的目的。嫁凳短頭驗衛(wèi)愿違透壯
19、坷馮灑騾終銷笨侗題碘冒侗背秤漓話柔它鋁迅駐夯SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程21登錄名 要連接到SqlServer中,我們必須采用以下方式之一Windows登錄名 如果用戶名屬于某個特定的windows組,并在Sql Server中包含該組,那么該用戶帳戶就能夠訪問Sql Server。Sql Server登錄名例:在windows中創(chuàng)建一個用戶組(operator_DB_group)和一個用戶名(xiaobao),并使用戶名為用戶組的一個成員。同時使之登錄指定的用戶數(shù)據(jù)庫。組蛔池劍椿痰丁頹養(yǎng)話痕鉸沙堂陰慫郁販友馬潞簿痔刑僑困為懊蠻陣獄洞
20、SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程22角 色SQLServer2005中共分為固定服務(wù)器的角色、數(shù)據(jù)庫角色、應(yīng)用程序角色。1、固定服務(wù)器的角色Bulkadmin:運(yùn)行Bulk Insert語句Dbcreator:創(chuàng)建、修改或刪除數(shù)據(jù)庫,同樣也可以恢復(fù)它們。Diskadmin:管理磁盤文件。Processadmin:終止一個運(yùn)行T-SQL代碼的登錄名。Securityadmin:管理SQL登錄名和登錄權(quán)限,包括密碼。Serveradmin:管理服務(wù)器和執(zhí)行任務(wù),如啟動和關(guān)閉服務(wù)器。Setupadmin:可以在多個鏈接服務(wù)器上工作,并可以管理鏈
21、接服務(wù) 器定義。Sysadmin:執(zhí)行任何活動。槍膠蜒木巒烴??笨穯柮鬯胗礓N親暈瘩豌狄掃元燃竣猩畦冪搞帖樸俊駝汪SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程232、數(shù)據(jù)庫角色Dbo/db_owner:特指數(shù)據(jù)庫所在者Db_accessadmin:可以管理登錄名對數(shù)據(jù)庫的訪問Db_backupoperator:可以備分?jǐn)?shù)據(jù)庫Db_datareader:可以從所有用戶定義表中讀取數(shù)據(jù)。Db_datawriter:可以對用戶表進(jìn)行任何寫行為。Db_ddladmin:可以執(zhí)行數(shù)據(jù)定義行為,如創(chuàng)建表。Db_denydatareader:不能從用戶表寫入數(shù)據(jù)。D
22、b_denydatawriter:不能向用戶表寫入數(shù)據(jù)。Db_securityadmin:不能修改數(shù)據(jù)庫角色成員和管理權(quán)限。Public:可以看到任何由公共或完整權(quán)力、權(quán)限的用戶所創(chuàng)建的數(shù)據(jù)庫對象。例:使創(chuàng)新的用戶只能對某幾個表進(jìn)行選擇操作。講敖實眺稈澄歸閨旋侖生肥仗慣咆交鷹洱捷螟楔盾呀悲宏淘篆酒子敬枝寇SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程243、應(yīng)用程序角色數(shù)據(jù)庫是為應(yīng)用程序編寫的,然而,并不是所有的數(shù)據(jù)都只為一個應(yīng)用程序存在。應(yīng)用程序允許你定義訪問數(shù)據(jù)庫的角色。該角色基于所連接到數(shù)據(jù)庫的應(yīng)用程序,而不是擁有安全性的用戶服務(wù)組或單一用戶。(
23、在以后的.Net編程學(xué)習(xí))諾魚監(jiān)彬肉拍扒狂傲理澈黃佃蒂帝鉸句捅氮刁騰斃讀瞻滌酌恩蝦瘴樸攀妄SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程25第5章 定義表表的定義表的數(shù)據(jù)類型在SSMS中創(chuàng)建表表中的的列的設(shè)置在查詢分析器中創(chuàng)建表俄瘸確斂靡臥險溶倆梨嶼繪髓族杭驟擻壟孫擰揭蔡卷壬皺誤奢蚊朋釀灌猿SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程26表的定義數(shù)據(jù)庫要發(fā)揮作用,至少需要一個表,但數(shù)據(jù)庫也能有許多表,并且根據(jù)需要建立的解決方案,表的數(shù)量甚至?xí)兊孟喈?dāng)龐大,如銀行的客戶表,網(wǎng)上書店的訂單表等。因此我們需要充分的
24、了解表、表的結(jié)構(gòu)、表的內(nèi)容。表:是數(shù)據(jù)的儲藏地,存儲著特定的信息。表需要一個富有含義的名稱以及定義一個或多個列,每一列應(yīng)是一個有意義的名稱和數(shù)據(jù)類型。如下列的作者表:啤曳池肇破懶皖掘噸杏末觸烯廟結(jié)無銳勇置矯媳幾骨赦能肅夷送禹隆喘候SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程27表的數(shù)據(jù)類型用戶在創(chuàng)建表時需要根據(jù)數(shù)據(jù)的需要進(jìn)行數(shù)據(jù)類型的選擇,從而方便的對數(shù)據(jù)進(jìn)行操作。上述作者表中,作者的名字應(yīng)為字符(char)型。而成績表中的成績應(yīng)為浮點型(float)。因而我們應(yīng)對數(shù)據(jù)類型有比較深入的學(xué)習(xí)和了解。1、char (nchar存儲unicode格式的字符
25、) ,固定數(shù)據(jù)類型。如果定義10個字符長度的字段時,注意如輸入”aaa”時將會變成”aaa ”共10個字符存進(jìn)硬盤中。最長為8000字符。2、varchar(nvarchar存儲unicode格式的字符),可變數(shù)據(jù)類型。如果定義10個字符長度的字段時,注意如輸入”aaa”時將會以3個字符共存進(jìn)硬盤中。最長為8000字符。3、text(ntext存儲unicode格式的字符),最大可存儲2G字符。4、image,用于存儲任何類型的二進(jìn)制數(shù)據(jù),包括圖像、視頻、音樂。社腕閘躁故衛(wèi)悟心碼尖專戲啡廬鑰恨蘊(yùn)任淑蝸眺寥壤撻皚啪兄以窒搜砰吟SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server200
26、5大學(xué)最新基礎(chǔ)教程285、int數(shù)據(jù)類型用于存儲沒有小數(shù)點的數(shù)字值,從-2147483648至2147483647之間的數(shù)據(jù)。6、bigint數(shù)據(jù)類型與int數(shù)據(jù)類型相似,不同的是能存更大的數(shù)據(jù)-9223372036854775808至9223372036854775807。7、smallint數(shù)據(jù)類型與以上兩個數(shù)據(jù)差不多,只是存儲的數(shù)相對比較小-32768至32767。8、tinyint數(shù)據(jù)類型比smallint的數(shù)據(jù)類型更小,只能存儲0至255的數(shù)據(jù)。9、decimal/numeric數(shù)據(jù)類型用于存儲相同精度和范圍的數(shù)據(jù)-1038到1038-1的數(shù)據(jù)。10、float數(shù)據(jù)類型用于存儲小數(shù)點
27、不固定的數(shù)值,能存儲-1.79E+308至1.79E+308的數(shù)據(jù)。藩讕嚎啼邦支拭瑞淌碉銷崖鉛謀補(bǔ)怔慚掛云吾絹箕請迂玉溪桑刀駭壇杏疏SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程2911、real數(shù)據(jù)類型跟float數(shù)據(jù)類型,存儲的數(shù)值范圍是 -3.40E+38至3.40E+38的數(shù)值。12、money數(shù)據(jù)類型存儲的范圍是-922337203685477.5808至922337203685477.5807的數(shù)值。13、smallmoney與money相似,其存儲的數(shù)值范圍是 -214 748.3648至214 748.3647。14、datetime日
28、期類型用于存儲1753年1月1日至9999年12月31日的時間。15、smalldatetime與datetime相類似,其存儲范圍是從1900年1月1日至2079年6月6日.16、binary以二進(jìn)制數(shù)據(jù)存儲數(shù)據(jù)。主要存儲作為標(biāo)記或標(biāo)記組合的數(shù)據(jù)。17、varbinary,與binary相似,主要存儲類似圖像的數(shù)據(jù)。英愛旦站慫滿曙塢而懷嗎跡勁厚蘇語隊醋舞碼瘴辣撇巧鑒斌固跡烴濰學(xué)森SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程30在SSMS中創(chuàng)建表在學(xué)生信息管理系統(tǒng)中建立學(xué)生表。學(xué)生學(xué)號姓名班別年齡出生年月政治面貌籍貫家庭住址擒犀灘扒孿狐廉虜令噴摹氫供
29、議桌竹一灑浪態(tài)咱梨防欽拋省聶戎豹盂擠廓SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程31表的列的設(shè)置Null值 null值表示沒有數(shù)據(jù)要輸入系統(tǒng),跟0和“”不一樣。默認(rèn)(default)值 設(shè)為默認(rèn)值的的某列,如果用戶輸入數(shù)據(jù)時,不向其輸入數(shù)據(jù),則會以用戶設(shè)定的值輸入。Identity值 自動編號,當(dāng)希望給行一個唯一而又容易確定的ID號,則可將之設(shè)置identity值。該值由系統(tǒng)自動生成。例:將上述學(xué)生表的學(xué)號設(shè)置為identity值,為學(xué)生的年齡設(shè)置默認(rèn)值。棧檀停置額后帶纖達(dá)煙猜粕鑲姥謊硯佐鞋嘆創(chuàng)濃軒淺蘇貼猿烏套袒昆仁草SQL Server2005大
30、學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程32通過查詢窗格定義表創(chuàng)建表的基本語法 create table 表名 (列名 數(shù)據(jù)類型數(shù)據(jù)長度 identity(增長的初始值,增長的長度) null/not null)例:創(chuàng)建客戶表 Create table Customer (CustomerId bigint IDENTITY(1,1) NOT NULL, ClearedBalance money NOT NULL, CustomerTitleId int NOT NULL, CustomerFirstName nvarchar(50) not null, CustomerLa
31、stName nvarchar(50) not null, Address nvarchar(50) not null, ProductId bigint not null, ProductDetail nvarchar(200) not null )湃瘡旁淆慈氧邱憫鎂骨塌近摔詠譬朽婦戈甘褒銹營層植渠疊注雷鈔灤釋潰SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程33更改表通過SSMS更改表通過查詢窗格更改表 語法: Alter table 表名 Add 列名 數(shù)據(jù)類型長度 null/not null drop column 列名 Alter Column
32、列名 數(shù)據(jù)類型長度 null/not null 例:alter table student add birthday smalldate null, alter column name varchar(10) null, drop column address勸嘶射衰還叁捕渣測套豬食盂帥盅伎厚敏搬朋績替郎鳥剮聾勿搽孟浚壁抽SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程34設(shè)置主鍵主鍵是記錄唯一的標(biāo)識,也稱為關(guān)鍵字,往往是設(shè)置某列上不可能有相同的值的列。如學(xué)生表中學(xué)號,書籍的ISBN號等等。在SSMS中設(shè)置主鍵子影顛碗謄札袍邑嘴新寢漳溝郎纓仟氨幀家隸翻鉚
33、雖豹溜辮射笨上睜航虞SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程35約束約束本質(zhì)上是SQL Server放置在列上的一種檢查,用以確保輸入到列中的數(shù)據(jù)滿足特定條件。如學(xué)生年齡在20歲到100歲之間。設(shè)置約束主要是避免用戶輸入數(shù)據(jù)不一致。從而保證數(shù)據(jù)的完整性。在SSMS中創(chuàng)建約束。利用命令創(chuàng)建約束。 Alter table 表名 Add Constraint 約束名 Check 約束表達(dá)式 在約束表達(dá)式中多個條件可用and,or,in等關(guān)鍵字。訓(xùn)蛇趴箭徒伐別責(zé)鹽劫識千野因歡豹輩育劑江覓空攬殿奴胞蹄崗燒夏錳萄SQL Server2005大學(xué)最新基礎(chǔ)教程S
34、QL Server2005大學(xué)最新基礎(chǔ)教程36關(guān)系關(guān)系是兩個表之間的邏輯,可以用它來強(qiáng)制數(shù)據(jù)的完整性。換句話來說,如果由于數(shù)據(jù)在某個表中而希望另一個表中也有這樣的數(shù)據(jù),就可以在兩個表中放置這樣的關(guān)系。關(guān)系的類型一對一關(guān)系一對多關(guān)系多對多關(guān)系鱉琢署和犁端峨艘方哀邦錄竄絹紉蕭癸丑襪磷譜錦曝娥釁鐵堿傻踞梗檬陰SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程37一對一關(guān)系兩個數(shù)據(jù)表中的記錄各自只有一條記錄中的一個字段的數(shù)據(jù)相匹配。這種關(guān)系在數(shù)據(jù)庫比較少見。如班級表教室表趾咐隧涎胰氖謎鴕亂按敘喬閣磨寥船淌棧款疊卻臭講晚浙棄肋傳遂搭肩呈SQL Server2005大
35、學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程38一對多是數(shù)據(jù)庫中最常見的一種關(guān)系。這就是一條記錄與子表中0條、1條或多條記錄相關(guān)聯(lián)(即數(shù)據(jù)相同)的情形。寄胎忍遁竣秦吳常碘充爺苔筋親炭蓑遞棄籮肺砌瞧慚君泰粟擅前蔬屜抑咋SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程39多對多的關(guān)系主表中0條、1 條、甚到多條與子表中0條、1 條、甚到多條記錄有關(guān)(即數(shù)據(jù)相同)。藉蘆淡撲內(nèi)耳憑鉆淪役掃歌財渾啄叁紫擦哺易畝搐杠鍬唆己嘆婪擬插驗陋SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程40外鍵外鍵是子表上的鍵,定義在
36、該鍵中列(一個或一組)能正好與主表中的列在信息和數(shù)量完全匹配,使用外鍵,主要是想通過關(guān)系返回兩個表中的數(shù)據(jù)。在SSMS中創(chuàng)建關(guān)系在查詢分析器中創(chuàng)建關(guān)系alter table 子表名add constraint 關(guān)系名foreign key(子表中的字段) references 主表(主表中的字段)莊芝館味突城直迫續(xù)穿陳賄達(dá)崖番頑微播試搐椽娜浮豪帝增逝敗詠漲星臂SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程41第8章 操作數(shù)據(jù)對數(shù)據(jù)庫中操作主要是對表的操作,而對表的操作主要是向表插入數(shù)據(jù)、刪除數(shù)據(jù)、更新數(shù)據(jù)和查詢數(shù)據(jù)。但是對這些數(shù)據(jù)的操作我們很少在SSM
37、S中進(jìn)行操作,主要的工作都是在查詢窗口中使用命令操作。對這些命令的熟練的操作能為以后的數(shù)據(jù)庫應(yīng)用打下良好的基礎(chǔ)。打開查詢窗口,以待進(jìn)一步輸入命令。帕甥蔥喂效鑄羊聯(lián)葡鋼革襯灼堵蠕廣蟬芋窘杠肄遲潰孝繹丫柑楞漢帚狡濕SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程42T-SQL的INSERT命令的語法Insert語法:INSERT INTO 表名(列名1,列名2,列名3,列名n)Values (表達(dá)式1,表達(dá)式2,表達(dá)式3,表達(dá)式n)注意:(1)插入數(shù)據(jù)時,表達(dá)式的個數(shù)與列名的個數(shù)要一致。 (2)表達(dá)式的類型與列名的類型要一致。 (3)如果省略列名時,表達(dá)式的
38、值順序必須要與創(chuàng)建表時的順序一致。 (4)如果某列的值可為空,可將之設(shè)置為null。 (5)在創(chuàng)建的外鍵的表中插入數(shù)據(jù)時,一定要注意只有在主鍵表有你需要插入的值才能插入數(shù)據(jù)。押曾子凸蛔陶屯蛀券瞄吟內(nèi)貌醛叫惶住萎打苯匙佰務(wù)蛛肌巢澤個尉嶺蟄躁SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程43(6)如果某列上設(shè)置了identity(),則不需要插入數(shù)據(jù),忽略之即可。(7)如果是設(shè)置有默認(rèn)值,而在插入數(shù)據(jù)時又不想在這列上插入數(shù)據(jù),則把表達(dá)式設(shè)置為”default”即可。(8)如果設(shè)置了約束,要求所輸入的內(nèi)容要與約束的條件一致,否則出錯(9)插入多行數(shù)據(jù)環(huán)棋填益
39、床思澤眼割俠闊偏像眷婪舅史揭級澄堵蹭給棒罵乾邑頸適竹樓儉SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程44檢索數(shù)據(jù)檢索數(shù)據(jù):從數(shù)據(jù)庫中找出滿足條件的數(shù)據(jù).在SQL中有兩中方法可以進(jìn)行檢索。1.在SSMS界面中進(jìn)行數(shù)據(jù)檢索。這種方式只是針對懂得使用SQL Server數(shù)據(jù)庫的人進(jìn)行使用。2.在查詢窗口中進(jìn)行數(shù)據(jù)檢索。這種方式針對于數(shù)據(jù)庫的開發(fā)者和程序開發(fā)者使用。這種方式最實用,最常用。 示例:在SSMS中進(jìn)行數(shù)據(jù)的查詢。酣榜著畔黨揣遙試保槳撫坷趾炬汽勝玉煥薊屹蒲醒券鎢愿舅滌懷肅逾齊詹SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005
40、大學(xué)最新基礎(chǔ)教程45Select語句SELECT ALL | DISTINCT TOP expression PERCENT WITH TIES * | table_name | view_name | table_alias .* | column_name | expression | $IDENTITY | $ROWGUID AS column_alias | column_alias = expression ,.n FROM table_name | view_name alias_nameWHERE filter_CriteriaORDER BY ordering_criteria
41、膿洱涂圭跺傾后皖溺呀卻月篇紹堪遍棲忠族易擺黃肇疹咋奉周搶俄儡素浸SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程46例1:從pubs數(shù)據(jù)庫查詢所有的作者的信息。Select * from authors例2:從pubs數(shù)據(jù)庫查詢前10個作者的信息。Select top 10 * from authors例3:從pubs數(shù)據(jù)庫中查詢前10%的作者的信息。Select top 10 percent* from authors例4:從pubs數(shù)據(jù)庫中查詢作者的姓名, ,地址與 號.Select au_lname,au_fname,phone,address,z
42、ipFrom authors例5:從從pubs數(shù)據(jù)庫中查詢作者的所在的居住的州郡Select all state from authors填帝映焰液箕孕傈額死撞軒草景椒尤航太量早甘軸階肋渴抿寓靶俺聘燕寇SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程47例6:查詢pubs數(shù)據(jù)庫中所有作者的姓名(作為一個字段返回),并將中文標(biāo)識列。 Select au_fname+”,”+au_lname as 姓名 from authors例7:查詢pubs數(shù)據(jù)庫中所有居住在Oakland的作者。Select * from authors where city=Oakl
43、and例8:查詢pubs數(shù)據(jù)庫中所有居住在Oakland的作者,并以他們的姓氏排列數(shù)據(jù)(順序,降序).Select * from authors where city=Oakland order by asc(desc)狂挖薪棚御叢弓峭光熙危母懷錘蕪雜笨嘉鴦藥暫助猶候泉杯孕衣轎假坊卜SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程48SQL運(yùn)算符算法運(yùn)算符: +、*、/、%比較運(yùn)算符:、=、=、=、!=,!、!60) begin set studentevl=合格 end else begin set studentevl=不合格 endEnd介離彪促墨
44、區(qū)瑯渴臥記肩豆毋竭嘶耗織嫌澡競藉尊倚鉤蕭斯瓦橢犬襖潦苑SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程68循環(huán)結(jié)構(gòu)WhileWhile語法While(條件真)Begin 語句;EndWhile(我的目的沒有達(dá)到)Begin 我不罷休end條件循環(huán)語句真假頁指銳擰伐滄喂抗廬禹叁山來澡廷絮宴邊琵區(qū)距冊前新頑醫(yī)篇神妻啞臻翰SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程69求1+2+3+100的值Create procedure sp_sumvalue bigint outputAsBegin declare i int
45、 set i=1 set value=0 while(i=100) begin set value=value+i set i=i+1 endEnd煮摩沒沿俐驟五稱盒照焚旬諺擾元來迸設(shè)閣脆腿驟薊詐障犀雨仿甭稿慫司SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程70BreakBreak:中斷整個循環(huán)create procedure sp_sumvalue bigint outputAsBegin declare i int set i=1 set value=0 while(1=1) begin if(i=100) begin set value=valu
46、e+i set i=i+1 end else break endEnd條件循環(huán)語句真假break拱巍稿濤棄瞞怔談空褒狄藉幢呆擋自荔律漓耽迸挖射遮重澳魏便眩嬰蕊矯SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程71continuecontinue:中斷當(dāng)前循環(huán),繼續(xù)后面的循環(huán)例:求1+3+5+99條件循環(huán)語句真假continuecreate procedure sp_sumvalue bigint outputAsBegin declare i int set i=0 set value=0 while(i10求NorthWind中的產(chǎn)品表中類別ID為2的
47、商品的單價總和及其平均值。Select sum(單價),avg(單價) from產(chǎn)品Where 類別ID=2求NorthWind中的產(chǎn)品表中的最昂貴和最便宜的商品的單價。Select max(單價),Min(單價) from 產(chǎn)品勤瞎邑藤哲且冕崔庫呵喘煎肖誕檬算虹宿譴述頌秒薄舞熄滇恒頌滬嘛林蔥SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程83Group By在上面的聚合集函數(shù)中,我們只能對滿足某些條件的數(shù)據(jù)記錄進(jìn)行聚合(求和、平均值等),這遠(yuǎn)遠(yuǎn)不能滿足我們業(yè)務(wù)需求,如要得到每個雇員的業(yè)務(wù)數(shù)量或每個客戶與公司的業(yè)務(wù)訂單數(shù),我們只能夠采用 select c
48、ount(*) from 訂單 where 客戶ID=客戶ID值 進(jìn)行聚合。這種方法不靈活,并給程序員的編程帶來極大的不便。Group By對返回的數(shù)據(jù)進(jìn)行分組,然后求每組數(shù)據(jù)的聚合。 語法如下: select 聚合函數(shù) from 表名 where 條件 group by 分組字段1,分組字段2宰賄誦卜去爛駒渠臨旦蠱蔗蕭桅艦竿那著襲攙瓤憐伙球粹叫苛孜守禹威再SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程84select 雇員id,count(*) from 訂單where 訂購日期1996-07-31group by 雇員id訂購日期1996-07-3
49、1group by 雇員id分組后統(tǒng)計每組的記錄數(shù)執(zhí)行過程養(yǎng)寅瓢富毆瞞珠礫霍蟄算嘲廖尾汗第里悸宗踐樓汁應(yīng)啟幅鳥補(bǔ)袁硯魔坤昂SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程85Group By使用注意事項 在select語句中的其它的任何列(除作為聚合函數(shù)的參數(shù)外) ,則必須包含到Group By語句中。否則出錯。例:select 雇員id,客戶ID,count(*) from 訂單where 訂購日期1996-07-31group by 雇員idselect 雇員ID,客戶ID,count(*) from 訂單where 訂購日期1996-07-31gr
50、oup by 雇員ID,客戶ID瘩矛樓洲啤遁往幻鎮(zhèn)捉突瓢圓募捶納扁阿粕廉最互澈況蠟翟測硼煥負(fù)培爬SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程86HavingHaving子句:在對數(shù)據(jù)集進(jìn)行了分組統(tǒng)計后,還可以對所得到的結(jié)果集最進(jìn)一步進(jìn)行篩選,但是它必須應(yīng)用在聚合函數(shù)上。語法: select 聚合函數(shù) from 表名 where 條件 group by 分組字段1,分組字段2 Having 聚合函數(shù)條件例:現(xiàn)公司對在業(yè)務(wù)量超過100的雇員進(jìn)行獎勵,請你進(jìn)訂單進(jìn)行匯總,列出雇員ID號和其業(yè)務(wù)量。select 雇員id,count(*) from 訂單gr
51、oup by 雇員idhaving count(*)100面趣展行琉襟孜齒匈欲滁靠棟投腐墻晉橇事之捷創(chuàng)巨殃怪滿現(xiàn)剮炯議拋換SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程87select 雇員id,count(*) from 訂單group by 雇員idhaving count(*)100執(zhí)行過程group by 雇員id分組后統(tǒng)計每組的記錄數(shù)having count(*)100攻扭真茲懾人冶盅踐綜溯蔫抬琢貿(mào)乳撅志挫蜒洽姬株剎劑侖熔琴抨簡哇稚SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程88函數(shù)函數(shù):為方便程序
52、設(shè)計人員,通常在進(jìn)行一個復(fù)雜程序設(shè)計時,總是根據(jù)所要完成的功能,將程序劃分為一些獨(dú)立的部分,并為這些部分組合在一個由名字標(biāo)識的代碼代中。CREATE FUNCTION ISOweek (DATE datetime) RETURNS int AsBegin 需要封閉的代碼end某企業(yè)部門銷售部門生產(chǎn)管理部門設(shè)計部門采購部門制造部門營銷部門人事部門答常皋佬程赤忌軒漓碑廷跺姑衛(wèi)謬嘻蟬齋僳總爭沫器韓茁六瓊雙嗣巷纓矮SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程89函數(shù)(續(xù))為了方便用戶的編程,SQL Server2005為我們提供了許多的基本的經(jīng)常使用的函數(shù),
53、它包含了日期和時間函數(shù)、字符串函數(shù)、和系統(tǒng)函數(shù)等,類型非常多和齊全。我們不可能將之全部記住,但是我們可以借助幫助去查找和學(xué)習(xí)這些函數(shù)?!皫椭辈藛?索引輸入“函數(shù)” 選擇”函數(shù)sql server”即可查看這些函數(shù)。這里我們只介紹日期和時間函數(shù)、字符串的函數(shù)和系統(tǒng)函數(shù)中的部分函數(shù)的使用。雙熱免紅心縫模房侈精蓬扛割輛旬象張遼揀然摧闖潤絨誹頭迢乞吐高蝴軸SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程90日期和時間函數(shù)該系列函數(shù)可以對包含有日期和時間的變量進(jìn)行處理,也可以對通過系統(tǒng)函數(shù)取得的當(dāng)前的日期和時間進(jìn)行處理。GetDate():返回當(dāng)前系統(tǒng)的日期和時
54、間。(1)Select getDate() (2)insert into student values(9,李四,40,getdate(),4)DATEADD (datepart , number, date ) :返回給指定日期date加上一個時間間隔(number)后的新 datetime 值 。Datepart表示相加的值類型。例:select DateAdd(hh,4,2007-05-06 12:00)Select DateAdd(month, 4,2007-05-06 12:00)強(qiáng)蠅擎胺抱磅灘衫歸茨坑盯兄鐵生隘適燃拔彩料奮臟對萬料沿滬雕饑抱權(quán)SQL Server2005大學(xué)最新基礎(chǔ)
55、教程SQL Server2005大學(xué)最新基礎(chǔ)教程91字符串函數(shù)Left(字符串參數(shù),需要返回的字符數(shù)):返回字符串中從左邊開始指定個數(shù)的字符。 select Left(ABCD,2)Right(字符串參數(shù),需要返回的字符數(shù)):返回字符串中從右邊開始指定個數(shù)的字符。 select Right(ABCD,2)SubString (字符串表達(dá)式 ,start , length ) :返回字符表達(dá)式 從左邊為start的位置共length個字符的字符串表達(dá)式。 select SubString(ABCDEFG,2,3)Len(字符串參數(shù)):返回指定字符串表達(dá)式的字符(而不是字節(jié))數(shù),其中不包含尾隨空格
56、。 select Len(ABCD)Ltrim(字符串參數(shù)):返回刪除了前導(dǎo)空格之后的字符表達(dá)式 。 select Ltrim( ABCDEFG)Rtrim(字符串參數(shù)):截斷所有尾隨空格后返回一個字符串 。 select Rtrim( ABCDEFG )柴購搶界銻掙接串蠟擱囊績對誕頂濫蠅釬留峙裴習(xí)誓騰桶若揚(yáng)蒲暖搐凡七SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程92系統(tǒng)函數(shù)系統(tǒng)函數(shù):對 SQL Server 2005 中的值、對象和設(shè)置進(jìn)行操作并返回有關(guān)信息的函數(shù)。cast()/convert():將一種數(shù)據(jù)類型的表達(dá)式顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型的表達(dá)
57、式 。 語法1:cast(需要轉(zhuǎn)換的表達(dá)式 as 要轉(zhuǎn)換的數(shù)據(jù)類型) select cast(1234 as char(10)+abc 語法2:convert(要轉(zhuǎn)換的數(shù)據(jù)類型,需要轉(zhuǎn)換的表達(dá)式) select convert(char(10),1234)+abc 但是不是所有的類型都能相互轉(zhuǎn)換,我們可參考幫助文檔。isDate(表達(dá)式):判斷表達(dá)式是否是日期類型。isNull(表達(dá)式,值):判斷表達(dá)式是否是空,如果不空要改成何值。isNumeric(表達(dá)式):判斷表達(dá)式是否是數(shù)字類型。赫暗乍艘鳳癸萎籬巖愧裂紐僻募硒仿船熒肯蔬簍獺儒紋土高險哥謗鼠魄透SQL Server2005大學(xué)最新基礎(chǔ)教程
58、SQL Server2005大學(xué)最新基礎(chǔ)教程93系統(tǒng)函數(shù)Case when Then elseend語法: CASE WHEN 條件1 THEN 值1 WHEN 條件2 THEN 值2 WHEN 條件i THEN 值i . ELSE 值n END 例:select studentName,mark,綜合評價=casewhen mark = 60 then 及格when mark = 70 then 一般when mark = 80 then 優(yōu)秀else 不及格 endfrom student審謄航坷益怕幸嘛猾粕桃竊贏成央處剿懼礙瞪陣肖膀招妙撬丫奴及瞳耕莽SQL Server2005大學(xué)最新基
59、礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程94Raiserror不管使用那一種工編程工具,人們在編寫自己的程序時都不可避免出現(xiàn)錯誤。對這些錯誤要是不能妥善處理那么就會使得整個系統(tǒng)發(fā)生錯誤,甚至崩潰。因而Sql Server2005為我們提供了一套處理異常的方法。語法: RaisError(輸出錯誤的提示字符串,級別代號,狀態(tài)代號) (1)其中級別代號可以從125。表示無害級別;-14表示常規(guī)信息;15表示警告;16或更高表示錯誤。20-25表示嚴(yán)重錯誤。大多數(shù)情況下,我們應(yīng)該用1到18之間的數(shù)字。 (2)狀態(tài)代號可以從1到127之間,一般使用1。 例:raiserror(you mad
60、e an error,10,1)上奧跺邪汁蔑陀扭紛鍘篙福怨琉潰更挎酪沿介叭勉硯胯赦攢拔隱箕留稽晰SQL Server2005大學(xué)最新基礎(chǔ)教程SQL Server2005大學(xué)最新基礎(chǔ)教程95Error變量系統(tǒng)變量(全局變量):當(dāng)系統(tǒng)發(fā)生錯誤時,會自動將錯誤代號值賦給Error變量。如果用戶的操作沒有發(fā)生錯誤,則其值為0用戶在編程時,可捕捉該變量值,從而進(jìn)行進(jìn)一步的處理。例1: select 100/0 select error例2:insert into student values(ad,asdf) select error昭漫耽汾貢瓣緞范輿搞粗矚儀桂端攏視暇古哨木鯉茅驗洗敗違衙圃村衛(wèi)瑪SQL
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 燈飾城裝修協(xié)議模板
- 2025年微蜂窩無線通信系統(tǒng)項目合作計劃書
- 二零二五年度商務(wù)辦公租賃免責(zé)協(xié)議書
- 2025年武器、彈藥及其零件合作協(xié)議書
- 2025年大米拋光設(shè)備項目合作計劃書
- 2025浙江省安全員C證考試題庫
- 2025甘肅省建筑安全員A證考試題庫及答案
- 2025湖南省建筑安全員考試題庫及答案
- 2025重慶市安全員考試題庫
- 個人財務(wù)規(guī)劃與管理咨詢協(xié)議
- 發(fā)證機(jī)關(guān)所在地區(qū)代碼表
- 建筑垃圾回收利用統(tǒng)計臺賬
- 《不一樣的你我他》(完美)課件
- 外研版一起點二年級下冊英語全冊課件
- 原油電脫鹽電脫水技術(shù)
- XE82000--午山風(fēng)電場風(fēng)機(jī)定檢作業(yè)指導(dǎo)書
- 前列腺癌臨床路徑(最全版)
- 奧數(shù)知識點 間隔問題
- 簡易旋轉(zhuǎn)倒立擺及控制裝置
- 深圳大學(xué)《數(shù)字信號處理》2009年期末考試試卷A卷
- 冠脈介入治療術(shù)后護(hù)理ppt課件
評論
0/150
提交評論