SQL Server 2022數(shù)據(jù)庫技術(shù)項(xiàng)目教程高職全套教學(xué)課件_第1頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項(xiàng)目教程高職全套教學(xué)課件_第2頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項(xiàng)目教程高職全套教學(xué)課件_第3頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項(xiàng)目教程高職全套教學(xué)課件_第4頁
SQL Server 2022數(shù)據(jù)庫技術(shù)項(xiàng)目教程高職全套教學(xué)課件_第5頁
已閱讀5頁,還剩425頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目一數(shù)據(jù)庫技術(shù)導(dǎo)論全套可編輯PPT課件項(xiàng)目1-數(shù)據(jù)庫技術(shù)導(dǎo)論.pptx項(xiàng)目2-數(shù)據(jù)庫創(chuàng)建與管理.pptx項(xiàng)目3-數(shù)據(jù)庫表的創(chuàng)建與管理.pptx項(xiàng)目4-數(shù)據(jù)基本操作.pptx項(xiàng)目5-數(shù)據(jù)查詢.pptx項(xiàng)目6-數(shù)據(jù)庫的編程操作.pptx項(xiàng)目7-數(shù)據(jù)庫安全管理.pptx項(xiàng)目8-數(shù)據(jù)庫應(yīng)用程序開發(fā)項(xiàng)目實(shí)戰(zhàn).pptx任務(wù)1.1了解數(shù)據(jù)庫技術(shù)任務(wù)1.2配置SQLServer2022運(yùn)行環(huán)境任務(wù)1.3結(jié)構(gòu)化查詢語句T-SQL的使用123主要知識點(diǎn)數(shù)據(jù)庫管理員(DBA)職業(yè)崗位的技能需求數(shù)據(jù)庫主要類型,關(guān)系數(shù)據(jù)庫的特點(diǎn)數(shù)據(jù)庫、表、記錄、字段的含義及相互關(guān)系SQLServer2022數(shù)據(jù)庫界面組成及簡單用法學(xué)習(xí)目標(biāo)數(shù)據(jù)庫的概念與類型關(guān)鍵數(shù)據(jù)庫模型及特點(diǎn)SQLServer2022運(yùn)行環(huán)境的安裝與配置運(yùn)用SQLServer2022建立數(shù)據(jù)庫和數(shù)據(jù)表掌握數(shù)據(jù)庫和表的簡單修改方法及結(jié)構(gòu)化查詢語句T-SQL的使用任務(wù)1.1了解數(shù)據(jù)庫技術(shù)1.1.1數(shù)據(jù)庫技術(shù)概述1.1.2配置SQLServer2022運(yùn)行環(huán)境1.1.3結(jié)構(gòu)化查詢語句T-SQL的使用數(shù)據(jù)庫技術(shù)概述1.1.1數(shù)據(jù)庫技術(shù)概述數(shù)據(jù)庫是按照一定結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,是一個長期存儲在計(jì)算機(jī)內(nèi)、有組織、可共享、能統(tǒng)一管理的大量數(shù)據(jù)集合,可以多個用戶共享,具有較小的冗余度和較高的獨(dú)立性。數(shù)據(jù)庫技術(shù)是軟件領(lǐng)域的一個重要分支,產(chǎn)生于20世紀(jì)60年代,它的出現(xiàn)使計(jì)算機(jī)應(yīng)用到了工農(nóng)業(yè)生產(chǎn)、商業(yè)、行政管理、科學(xué)研究、工程技術(shù)以及國防軍事等各個領(lǐng)域。它以數(shù)據(jù)庫管理系統(tǒng)(DBMS)為核心,以數(shù)據(jù)存儲和處理為主要功能,涵蓋DBMS產(chǎn)品、數(shù)據(jù)挖掘、開發(fā)工具、應(yīng)用系統(tǒng)解決方案等多個內(nèi)容。任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1、數(shù)據(jù)庫分類主要包括關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫兩種類型。123關(guān)系型數(shù)據(jù)庫采用關(guān)系模型來組織數(shù)據(jù),由二維表及各張表之間關(guān)聯(lián)關(guān)系所組成,容易理解,容易使用,容易維護(hù)。主要有:MySQL,MSAccess、MSSQLServer、Oracle、INFORMIX、Sybase、DB2。非關(guān)系型數(shù)據(jù)庫主要指非結(jié)構(gòu)化數(shù)據(jù)庫(NoSQL),是一種數(shù)據(jù)存儲方法的集合,可以是文檔或者鍵(Key)值(Value)對,字段長度可變,支持重復(fù)字段、子字段及變長字段,能處理變長數(shù)據(jù)和重復(fù)字段,實(shí)現(xiàn)數(shù)據(jù)項(xiàng)的變主要NoSQL產(chǎn)品有MongoDB、HBase、redis、Memcache、BigTable等。優(yōu)點(diǎn):格式靈活,速度快,容易擴(kuò)展,成本低。數(shù)據(jù)庫的兩種類型任務(wù)1.11.1.1數(shù)據(jù)庫技術(shù)概述2、關(guān)系數(shù)據(jù)庫的基本概念關(guān)系:就是一張二維表,簡稱表,每個關(guān)系都有一個關(guān)系名,即表名。元組:是二維表中的一行,在數(shù)據(jù)表中稱為記錄。屬性:二維表中的一列,在數(shù)據(jù)表中稱為字段。域:屬性的取值范圍,也就是數(shù)據(jù)表中某一列的取值范圍。關(guān)鍵字:一組可以唯一標(biāo)識元組的屬性,數(shù)據(jù)表中常稱為主鍵,由一個或多個列組成。關(guān)系模式:即對關(guān)系的描述。格式為:關(guān)系名(屬性1,屬性2,......,屬性N),稱為表結(jié)構(gòu)。數(shù)據(jù)庫管理系統(tǒng)(DBMS):是位于應(yīng)用軟件與操作系統(tǒng)之間,用以管理和維護(hù)數(shù)據(jù)庫中數(shù)據(jù)的軟件集合。按功能劃分,DBMS可分為三大部分:數(shù)據(jù)描述語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL。數(shù)據(jù)庫系統(tǒng)(DBS):由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng)。數(shù)據(jù)獨(dú)立性:指存儲數(shù)據(jù)的數(shù)據(jù)庫獨(dú)立于調(diào)用數(shù)據(jù)的軟件。任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.1數(shù)據(jù)庫技術(shù)概述3、國產(chǎn)數(shù)據(jù)庫:數(shù)據(jù)庫國產(chǎn)化時間雖然不長,但通過吸收和創(chuàng)新開源軟件優(yōu)勢,成效顯著,典型產(chǎn)品有:達(dá)夢數(shù)據(jù)庫(DM):武漢達(dá)夢數(shù)據(jù)庫股份有限公司。思極有容:國網(wǎng)信息通信產(chǎn)業(yè)集團(tuán)為主研發(fā)。OceanBase:阿里推出的完全自主研發(fā)品牌。TDSQL:騰訊產(chǎn)品。KingbaseES:北京人大金倉信息技術(shù)股份有限公司產(chǎn)品。GaussDB:華為數(shù)據(jù)庫產(chǎn)品。任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.1數(shù)據(jù)庫技術(shù)概述數(shù)據(jù)庫課程直接對應(yīng)的職業(yè)技能崗位是數(shù)據(jù)庫管理員(DBA),間接崗位是軟件開發(fā)工程師(程序員)。DBA是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的專門人員。任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.2數(shù)據(jù)庫職業(yè)崗位技能需求分析1、數(shù)據(jù)庫管理員:2、數(shù)據(jù)庫開發(fā)工程師任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.2數(shù)據(jù)庫職業(yè)崗位技能需求分析3、

Java軟件開發(fā)工程師任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.2數(shù)據(jù)庫職業(yè)崗位技能需求分析本教材共安排了兩個案例數(shù)據(jù)庫高校圖書館圖書借閱管理系統(tǒng)libsys,是圖書館工作人員對新購圖書分類、入庫登記、辦理和發(fā)放讀者借書證、圖書借閱與歸還管理的軟件,用于課堂教學(xué)。學(xué)生成績管理系統(tǒng)scoresys,用于知識拓展和實(shí)習(xí)實(shí)訓(xùn),其功能學(xué)生基本信息登記、課程信息登錄、任課教師信息登錄和成績管理,供任課教師和教務(wù)管理人員使用,用于實(shí)踐環(huán)節(jié)。圖書館圖書資料借閱管理系統(tǒng)(簡稱圖書管理系統(tǒng)),包括前臺借閱和歸還管理功能以及后臺登記入庫管理功能,采購人員購進(jìn)圖書后,采編人員首先根據(jù)圖書類別登記入庫,然后分門別類放進(jìn)不同位置的書架上。任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)表1-6bookinfo表的記錄任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)表1-8ReaderInfo表的記錄任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)任務(wù)1.1數(shù)據(jù)庫技術(shù)概述1.1.3案例數(shù)據(jù)庫及表設(shè)計(jì)表1-8ReaderInfo表的記錄配置SQLServer2022運(yùn)行環(huán)境SQLServer2022是微軟公司2022年底推出的最新關(guān)系型數(shù)據(jù)庫軟件,它既包含以往各個版本的全部功能,還具有更好的云服務(wù)功能。SQLServer的主要版本:SQLSERVER7.0SQLSERVER

2000SQLSERVER

2003SQLSERVER

2005SQLSERVER2008SQLSERVER

2012SQLSERVER2014SQLSERVER2016SQLSERVER2017SQLSERVER2019任務(wù)1.2配置SQLServer2022運(yùn)行環(huán)境1.2.1下載SQLServer2022安裝包1、SQLServer2022的主要版本:Enterprise:企業(yè)版Standard:標(biāo)準(zhǔn)版Web:Web版Developer:開發(fā)者版Express:快速版任務(wù)1.2配置SQLServer2022運(yùn)行環(huán)境1.2.1下載SQLServer2022安裝包2、SQLServer2022下載內(nèi)核在線安裝包和SSMS可視化工具安裝包,用于安裝SQLServer2022內(nèi)核,文件名是SQL2022-SSEI-Dev.exe。SSMS安裝包用于安裝SQLServerManagementStudio(SSMS),提供數(shù)據(jù)庫操作的可視化界面,文件名是SSMS-Setup-CHS.exe。任務(wù)1.23、硬件和軟件要求硬件要求:X64處理器且主頻2.0GHz以上,硬盤可用空間6G以上,內(nèi)存2G以上軟件要求:Windows10TH11507或更高版本,建議安裝在Windows11上不支持Windows7及以下版本配置SQLServer2022運(yùn)行環(huán)境1.2.2安裝SQLServer2022任務(wù)1.2SQLServer2022安裝順序先安排內(nèi)核SQL2022-SSEI-Dev.exe。再安裝可視化界面SSMS-Setup-CHS.exe。1、安裝內(nèi)核(1)以管理員身份運(yùn)行SQL2022-SSEI-Dev.exe文件配置SQLServer2022運(yùn)行環(huán)境1.2.2安裝SQLServer2022任務(wù)1.2SQLServer2022安裝順序先安排內(nèi)核SQL2022-SSEI-Dev.exe。再安裝可視化界面SSMS-Setup-CHS.exe。1、安裝內(nèi)核(2)選擇語言,默認(rèn)中文簡體配置SQLServer2022運(yùn)行環(huán)境1.2.2安裝SQLServer2022任務(wù)1.2SQLServer2022安裝順序先安排內(nèi)核SQL2022-SSEI-Dev.exe。再安裝可視化界面SSMS-Setup-CHS.exe。1、安裝內(nèi)核(3)確定安裝路徑配置SQLServer2022運(yùn)行環(huán)境1.2.2安裝SQLServer2022任務(wù)1.2SQLServer2022安裝順序先安排內(nèi)核SQL2022-SSEI-Dev.exe。再安裝可視化界面SSMS-Setup-CHS.exe。1、安裝內(nèi)核(4)系統(tǒng)會自動從網(wǎng)站下載相關(guān)文件,啟動安裝過程,直到安裝完成。配置SQLServer2022運(yùn)行環(huán)境1.2.2安裝SQLServer2022任務(wù)1.2SQLServer2022安裝順序先安排內(nèi)核SQL2022-SSEI-Dev.exe。再安裝可視化界面SSMS-Setup-CHS.exe。2、安裝可視化工具SSMS配置SQLServer2022運(yùn)行環(huán)境1.2.3SQLServer工作界面任務(wù)1.2【開始】-【所有應(yīng)用】-【MicrosoftSQLServerTools19】-【SQLServerManagementStudio19】,進(jìn)入SQLServer服務(wù)器登錄界面兩種身份驗(yàn)證方式Windows身份驗(yàn)證:默認(rèn)方式,建議使用SQLServer身份驗(yàn)證:輸入用戶名和密碼,DBA有權(quán)限設(shè)置登錄用戶。配置SQLServer2022運(yùn)行環(huán)境1.2.3SQLServer工作界面任務(wù)1.2SQLServer工作界面配置SQLServer2022運(yùn)行環(huán)境1.2.4SQLServer工作環(huán)境的使用任務(wù)1.2MicrosoftSQLServer2022的主要功能數(shù)據(jù)庫引擎(SSDE):用于存儲、處理和保護(hù)數(shù)據(jù)的核心服務(wù),是一個集成環(huán)境,窗口是SSMS集成服務(wù)(SSIS)):是一個用于提取、轉(zhuǎn)換和加載(ETL)操作的平臺分析服務(wù)(SSAS):針對個人、團(tuán)隊(duì)和公司商業(yè)智能的分析數(shù)據(jù)平臺和工具集報(bào)表服務(wù)(SSRS):是數(shù)據(jù)輸出的報(bào)表解決方案,提供企業(yè)級的Web報(bào)表功能分析服務(wù)(SSAS):提供了數(shù)據(jù)建模和分析的功能主數(shù)據(jù)服務(wù)(MDS):針對主數(shù)據(jù)管理的SQLServer解決方案配置管理器:為SQLServer服務(wù)、服務(wù)器協(xié)議、客戶端協(xié)議提供配置管理事件探查器:監(jiān)視數(shù)據(jù)庫引擎實(shí)例或AnalysisServices實(shí)例的圖形用戶界面數(shù)據(jù)庫引擎優(yōu)化顧問:協(xié)助創(chuàng)建索引、索引視圖和分區(qū)的最佳組合連接組件:安裝用于客戶端和服務(wù)器之間通信的組件代理服務(wù):MicrosoftWindows服務(wù),允許自動執(zhí)行某些管理任務(wù)結(jié)構(gòu)化查詢語句T-SQL的使用1.3.1T-SQL簡介任務(wù)1.3T-SQL,是在SQLServer中的國際SQL3標(biāo)準(zhǔn)的實(shí)現(xiàn),是微軟公司對SQL的擴(kuò)展,具有SQL的主要特點(diǎn),同時增加了變量、運(yùn)算符、函數(shù)、流程控制和注釋等元素。T-SQL語句不分區(qū)大小寫,可分為數(shù)據(jù)定義語句DDL、數(shù)據(jù)操作語句DML、數(shù)據(jù)控制語句DCL和附加語句四大類。結(jié)構(gòu)化查詢語句T-SQL的使用1.3.1T-SQL簡介任務(wù)1.3結(jié)構(gòu)化查詢語句T-SQL的使用1.3.2T-SQL語法基礎(chǔ)任務(wù)1.31、數(shù)據(jù)類型(1)字符型(2)整數(shù)型結(jié)構(gòu)化查詢語句T-SQL的使用1.3.2T-SQL語法基礎(chǔ)任務(wù)1.31、數(shù)據(jù)類型(3)精確實(shí)數(shù)型decimal(n,m):十進(jìn)制型,格式是decimal(n,m),n表示總長度,m表示小數(shù)位數(shù)。如:decimal(10,5),表示總長度是10位,其中小數(shù)位數(shù)是5位,整數(shù)位數(shù)5位,小數(shù)點(diǎn)不占位數(shù)。numeric:數(shù)值型,其用法與decimal相同,如:numeric(10)表示長度是10位,不允許有小數(shù),實(shí)際上就是整數(shù),而numeric(10,5)表示最多5位小數(shù),5位整數(shù)。(4)近似實(shí)數(shù)型存儲精度不是很高,但數(shù)據(jù)的取值范圍卻又非常大的數(shù)據(jù),其長度是固定的,用戶不可以改變,可以用普通方法和科學(xué)計(jì)數(shù)法表示。包括2種:real:實(shí)數(shù),可以表示的數(shù)值范圍是–3.40E+38~–1.18E–38,0,1.18E–38~3.40E+38float:浮點(diǎn)數(shù),可以表示的數(shù)值范圍是–1.79E+308~–2.23E–308,0,2.23E–308~1.79E+308結(jié)構(gòu)化查詢語句T-SQL的使用1.3.2T-SQL語法基礎(chǔ)任務(wù)1.3(5)貨幣型money:長度為8字節(jié),如$326779.1234,精確到萬分之一。smallmoney:長度為4字節(jié),如$23.333,3.51e8,$3.51e8。(6)日期時間型:其值要以字符串的形式表示,即要用單引號引起來,包括四種類型:date:日期型可以只精確到月,系統(tǒng)自動填寫為當(dāng)月的1日。time:時間型。格式:hh:mm:ssAM/PM,datetime:日期和時間的結(jié)合體。格式是:MM/DD/YYYYhh:mm:ssAM/PMsmalldatetime:小日期時間型(7)文本型:用于存儲超大長度的文本內(nèi)容,長度固定,用戶不可以修改,包括兩種類型:text:字符型,用來存儲大量的非統(tǒng)一編碼型字符數(shù)據(jù),最多可以有231-1或20億個字符。nchar:統(tǒng)一編碼字符型,用來存儲定長統(tǒng)一編碼字符型數(shù)據(jù)。(8)二進(jìn)制型binary:二進(jìn)制數(shù)據(jù)類型,存儲最長8000字節(jié),其存儲空間的大小是n+4個字節(jié)。varbinary:可變長二進(jìn)制數(shù)據(jù)類型,用來存儲最長8000字節(jié)的二進(jìn)制數(shù)據(jù),用戶可以設(shè)置長度。image:圖像型,用來存儲變長的二進(jìn)制數(shù)據(jù),最大可達(dá)231-1或大約20億字節(jié)結(jié)構(gòu)化查詢語句T-SQL的使用1.3.2T-SQL語法基礎(chǔ)任務(wù)1.3(9)特殊數(shù)據(jù)類型timestamp:時間戳類型,相當(dāng)于一個單向遞增的計(jì)數(shù)器,表示SQLServer活動的先后順序,Timestamp數(shù)據(jù)與插入數(shù)據(jù)的日期和時間沒有關(guān)系。當(dāng)所定義的列在更新或插入新行時,此列值系統(tǒng)自動填寫。如果表中列名為Timestamp,系統(tǒng)自動設(shè)置為Timestamp類型。Uniqueidentifier:唯一標(biāo)識型類型,長度為16,是根據(jù)網(wǎng)卡地址和CPU時鐘產(chǎn)生的,通過函數(shù)newid()獲得,全球各地機(jī)器產(chǎn)生的此值都不同,但用戶可以修改。當(dāng)表的記錄行要求唯一時,用uniqueidentifier類型最實(shí)用。T-SQL沒有專門的邏輯型,用bit表示邏輯數(shù)據(jù)類型,占用1個字節(jié),其值為真值時,用0表示,為假時用1表示,如果輸入0或1以外的值,將被視為1。結(jié)構(gòu)化查詢語句T-SQL的使用1.3.2T-SQL語法基礎(chǔ)任務(wù)1.32、變量T-SQL提供了系統(tǒng)變量和用戶自定義變量系統(tǒng)變量:由系統(tǒng)定義,用戶不能修改,以@@變量名的形式出現(xiàn),如:@@VERSION、@@SERVERNAME、@@LANGUAGE、@@ERROR、@@ROWCOUNT。系統(tǒng)變量的作用域是全局的,在整個會話層都是有效的。自定義變量:聲明用戶的語法是:

DECLARE@變量名

數(shù)據(jù)類型一個@符號是用戶自定義變量的標(biāo)志,在聲明和使用時都不能省略,用SET語句給變量賦值。示例:DECLARE@student_namechar(10)SET@student_name='歐陽輝宇'SELECT@student_nameSELECT@@VERSIONSELECT@@SERVERNAMESELECT@@LANGUAGESELECT@@ERRORSELECT@@ROWCOUNT結(jié)構(gòu)化查詢語句T-SQL的使用1.3.2T-SQL語法基礎(chǔ)任務(wù)1.33、運(yùn)算符數(shù)學(xué)運(yùn)算符:加(+)減(-)乘(*)除(/)和求余(%)。邏輯運(yùn)算符:與(AND)、或(OR)、非(NOT),其結(jié)果是一個邏輯值。賦值運(yùn)算符:=,格式是:變量名=表達(dá)式。比較運(yùn)算符:表達(dá)大小關(guān)系,包括6種:=、<>、>、<、>=、<=,結(jié)果是一個邏輯值。字符串連接運(yùn)算符:+,將2個字符串串聯(lián)起來。4、批處理用戶編寫的一個或多個語句的集合,以go作為批處理結(jié)束的標(biāo)志5、系統(tǒng)內(nèi)嵌函數(shù)系統(tǒng)內(nèi)嵌函數(shù)包括日期時間函數(shù)、數(shù)學(xué)函數(shù)、聚合函數(shù)和字符串函數(shù)。以日期時間函數(shù)為例:getdate():獲取系統(tǒng)當(dāng)前日期和時間day(日期表達(dá)式):返回日期中的日。month(日期表達(dá)式):返回日期中的月。year(日期表達(dá)式):返回日期中的年。結(jié)構(gòu)化查詢語句T-SQL的使用1.3.3流程控制語句任務(wù)1.31、注釋語句單行注釋:--注釋內(nèi)容,從此處開始到本行結(jié)束為注釋內(nèi)容多行注釋:/*注釋內(nèi)容*/3、條件判斷語句用IF條件ELSE語句表示,格式:IF條件語句1ELSE語句22、語句塊用BEGIN……END定義語句塊,表示這個語句塊將被作為一個整體。如:BEGINSELECT*FROMbookInfoEND條件判斷語句應(yīng)用舉例:根據(jù)變量sex的值,輸出一行信息,假設(shè)sex為男,輸出“性別為男,明天的體育課踢足球”,如果sex不為男,輸出“性別為女,明天的體育課跳健美操”。DECLARE@sexchar(2)SET@sex='女'IF@sex='男'PRINT

'性別為男,明天的體育課踢足球'ELSEPRINT

'性別為女,明天的體育課跳健美操'結(jié)構(gòu)化查詢語句T-SQL的使用1.3.3流程控制語句任務(wù)1.34、多分支條件語句:CASE語句,有2種格式第一種格式是:CASE表達(dá)式WHEN值1THEN表達(dá)式1WHEN值2THEN表達(dá)式2...WHEN值NTHEN表達(dá)式NELSE表達(dá)式N+1END多分支條件語句應(yīng)用舉例要求:假定用0-6表示星期天到星期六,根據(jù)星期幾輸出當(dāng)天的電影預(yù)告。DECLARE@dayint,@infochar(50)SET@day=5SET@info=CASE@dayWHEN0THEN'周日電影《大決戰(zhàn)之遼沈戰(zhàn)役》’WHEN1THEN'周一電影《大決戰(zhàn)之平津戰(zhàn)役》’WHEN2THEN'周二電影《大決戰(zhàn)之淮海戰(zhàn)役》’WHEN3THEN'周三電影《可愛的中國》’WHEN4THEN'周四電影《小兵張嘎》’WHEN5THEN'周五電影《地道戰(zhàn)》’WHEN6THEN'周六電影《四渡赤水》’ELSE'周日電影《地雷戰(zhàn)》'ENDPRINT@info結(jié)構(gòu)化查詢語句T-SQL的使用1.3.3流程控制語句任務(wù)1.34、多分支條件語句:CASE語句,有2種格式第二種格式是:CASEWHEN表達(dá)式1THEN表達(dá)式1

WHEN表達(dá)式2THEN表達(dá)式2...

WHEN表達(dá)式NTHEN表達(dá)式NELSE表達(dá)式N+1END多分支條件語句應(yīng)用舉例要求:假定用salary表示月工資,根據(jù)工資多少輸出工資收入的檔次。DECLARE@salaryfloat,@infochar(50)SET@salary=5766.9SET@info=CASEWHEN@salary<=5000THEN'工資1檔,收入偏低'WHEN@salary>5000AND@salary<=6000THEN'工資2檔'WHEN@salary>6000AND@salary<=8000THEN'工資3檔'WHEN@salary>8000AND@salary<=10000THEN'工資4檔'ELSE'高收入群體'

ENDPRINT@info結(jié)構(gòu)化查詢語句T-SQL的使用1.3.3流程控制語句任務(wù)1.35、循環(huán)語句用WHILE語句表示,表示循環(huán)執(zhí)行直到條件不成立為止。其格式是:WHILE條件BEGIN循環(huán)體語句END循環(huán)語句應(yīng)用舉例例1:求1到100之和。結(jié)構(gòu)化查詢語句T-SQL的使用1.3.3流程控制語句任務(wù)1.35、循環(huán)語句用WHILE語句表示,表示循環(huán)執(zhí)行直到條件不成立為止。其格式是:WHILE條件BEGIN循環(huán)體語句END代碼如下:DECLARE@nINT,@aINT,@bINT,@cINT--@a,@b,@c分別表示個位數(shù),十位數(shù),百位數(shù)SET@n=100WHILE(@n<1000)BEGINSET@a=@n/100;SET@b=@n/10%10;SET@c=@n%10;IF(@n=@a*@a*@a+@b*@b*@b+@c*@c*@c)BEGINPRINT@n;ENDSET@n=@n+1;END循環(huán)語句應(yīng)用舉例例2:輸出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:153是一個“水仙花數(shù)”,因?yàn)?53=13+53+33。結(jié)構(gòu)化查詢語句T-SQL的使用1.3.3流程控制語句任務(wù)1.35、循環(huán)語句用WHILE語句表示,表示循環(huán)執(zhí)行直到條件不成立為止。其格式是:WHILE條件BEGIN循環(huán)體語句END代碼如下:DECLARE@nINT,@iINT--@n表示整數(shù),@i表示循環(huán)變量SET@n=991SET@i=2WHILE(@i<=@n)BEGINIF@n%@i=0--若有因子,肯定不是素?cái)?shù),直接中止循環(huán)BREAKELSESET@i=@i+1ENDIF@i=@nSELECT@n,'是素?cái)?shù)'ELSESELECT@n,'不是素?cái)?shù)'在循環(huán)語句中,可以用CONTINUE語句忽略循環(huán)過程中的剩余語句,直接進(jìn)入下一輪循環(huán),用BREAK語句強(qiáng)制中止循環(huán)(退出循環(huán)),轉(zhuǎn)到執(zhí)行循環(huán)語句后面的語句。例3:判斷991是否是素?cái)?shù)。數(shù)據(jù)庫技術(shù)導(dǎo)論項(xiàng)目總結(jié)項(xiàng)目一1、主要內(nèi)容任務(wù)1.1了解數(shù)據(jù)庫技術(shù)任務(wù)1.2配置SQLServer2022運(yùn)行環(huán)境任務(wù)1.3結(jié)構(gòu)化查詢語句T-SQL的使用2、自測數(shù)據(jù)庫技術(shù)課程對應(yīng)的職業(yè)崗位有哪些?SQLServer2022工作界面由哪些部分構(gòu)成?如何用SQLServer2022編寫簡單程序?用SQLServer2022編程,輸出100-1000內(nèi)所有素?cái)?shù)。項(xiàng)目二數(shù)據(jù)庫創(chuàng)建與管理任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息任務(wù)2.2創(chuàng)建數(shù)據(jù)庫任務(wù)2.3管理數(shù)據(jù)庫123主要知識點(diǎn)SQLSERVER2022數(shù)據(jù)庫的基本組成運(yùn)用SSMS創(chuàng)建和管理數(shù)據(jù)庫使用T-SQL命令創(chuàng)建和管理數(shù)據(jù)庫數(shù)據(jù)庫的分離和附加學(xué)習(xí)目標(biāo)SQLSERVER2022數(shù)據(jù)庫的組成各個系統(tǒng)數(shù)據(jù)庫的功能會創(chuàng)建數(shù)據(jù)庫會查看和修改數(shù)據(jù)庫屬性會管理數(shù)據(jù)庫會分離數(shù)據(jù)庫會附加數(shù)據(jù)庫任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息2.1.1

SQLServer2022體系結(jié)構(gòu)2.1.2SQLServer2022的數(shù)據(jù)庫組成2.1.3SQLSERVER2022服務(wù)器身份驗(yàn)證模式查看數(shù)據(jù)庫服務(wù)器信息2.1.1SQLServer2022體系結(jié)構(gòu)SQLServer以數(shù)據(jù)庫引擎為基礎(chǔ),通過集成界面提供數(shù)據(jù)存儲與分析、報(bào)表服務(wù)、數(shù)據(jù)挖掘、云存儲、人工智能等全方位服務(wù)。數(shù)據(jù)庫引擎SSDE是SQLServer的核心服務(wù),負(fù)責(zé)完成業(yè)務(wù)數(shù)據(jù)的存儲、處理、查詢和安全管理,創(chuàng)建數(shù)據(jù)庫、創(chuàng)建表、執(zhí)行各種數(shù)據(jù)查詢、訪問數(shù)據(jù)庫等基礎(chǔ)操作,均由數(shù)據(jù)庫引擎完成,很多時候,使用數(shù)據(jù)庫系統(tǒng)主要是使用數(shù)據(jù)庫引擎服務(wù)。任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息2.1.1SQLServer2022體系結(jié)構(gòu)集成服務(wù)(SSIS):用于提取、轉(zhuǎn)換和加載(ETL)操作的平臺,使操作數(shù)據(jù)倉庫與其同步,數(shù)據(jù)倉庫里的數(shù)據(jù)來源于企業(yè)商業(yè)應(yīng)用所使用的孤立數(shù)據(jù)源。分析服務(wù)(SSAS):針對個人、團(tuán)隊(duì)和公司商業(yè)智能的分析數(shù)據(jù)平臺和工具集,提供了用于聯(lián)機(jī)分析處理(OnlineAnalyticalProcessing,OLAP)的引擎。報(bào)表服務(wù)(SSRS):數(shù)據(jù)輸出的報(bào)表解決方案,提供企業(yè)級Web報(bào)表功能,可以創(chuàng)建從多個數(shù)據(jù)源提取數(shù)據(jù)的表。分析服務(wù)(SSAS):用于數(shù)據(jù)建模和分析,根據(jù)數(shù)據(jù)倉庫表格設(shè)計(jì)、創(chuàng)建和管理多維數(shù)據(jù)集的功能,是商業(yè)智能戰(zhàn)略的基礎(chǔ)。主數(shù)據(jù)服務(wù)(MDS):針對主數(shù)據(jù)管理的SQLServer解決方案,通過配置MDS來管理任何領(lǐng)域,可包括層次結(jié)構(gòu)、各種級別的安全性、事務(wù)、數(shù)據(jù)版本控制和業(yè)務(wù)規(guī)則,可用于管理數(shù)據(jù)的Excel外接程序。SQLServer配置管理器:為SQLServer服務(wù)、服務(wù)器協(xié)議、客戶端協(xié)議和客戶端別名提供基本配置管理。數(shù)據(jù)庫引擎優(yōu)化顧問:用于優(yōu)化數(shù)據(jù)庫引擎,協(xié)助創(chuàng)建索引、索引視圖和分區(qū)。SQLServer代理服務(wù):是一項(xiàng)MicrosoftWindows服務(wù),允許自動執(zhí)行某些管理任務(wù)??纱磉\(yùn)行作業(yè)、監(jiān)視SQLServer并警報(bào)。任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息2.1.2SQLServer2022數(shù)據(jù)庫的組成安裝SQLServer2022軟件的機(jī)器稱為數(shù)據(jù)庫服務(wù)器,SQLServer2022的數(shù)據(jù)庫包括三類:系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)庫快照和用戶數(shù)據(jù)庫。系統(tǒng)數(shù)據(jù)庫是安裝后系統(tǒng)自動建立的數(shù)據(jù)庫,存放系統(tǒng)的核心信息,SQLServer2022使用這些信息來管理和控制整個數(shù)據(jù)庫服務(wù)器系統(tǒng)。master:最重要的系統(tǒng)數(shù)據(jù)庫,記錄SQLServer系統(tǒng)的所有系統(tǒng)級信息包括登錄賬號、密碼、用戶和角色、權(quán)限設(shè)置、鏈接服務(wù)器和系統(tǒng)配置信息。model:模板數(shù)據(jù)庫,存儲可以作為模板的數(shù)據(jù)庫對象和數(shù)據(jù),用戶在創(chuàng)建數(shù)據(jù)庫時,系統(tǒng)自動調(diào)用此數(shù)據(jù)庫中的相關(guān)信息。msdb:與代理服務(wù)有關(guān)的數(shù)據(jù)庫,主要完成定時、預(yù)處理等操作,記錄有關(guān)作業(yè)、警報(bào)、操作員、調(diào)度等信息。tempdb:臨時數(shù)據(jù)庫,存儲查詢過程中所形成的中間數(shù)據(jù)或結(jié)果。任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息2.1.2SQLServer2022數(shù)據(jù)庫的組成安裝SQLServer2022軟件的機(jī)器稱為數(shù)據(jù)庫服務(wù)器,SQLServer2022的數(shù)據(jù)庫包括三類:系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)庫快照和用戶數(shù)據(jù)庫。系統(tǒng)數(shù)據(jù)庫是安裝后系統(tǒng)自動建立的數(shù)據(jù)庫,存放系統(tǒng)的核心信息,SQLServer2022使用這些信息來管理和控制整個數(shù)據(jù)庫服務(wù)器系統(tǒng)。系統(tǒng)數(shù)據(jù)庫的組成與用戶數(shù)據(jù)庫基本相同,包括表、視圖、同義詞、可編程性、ServiceBroker、存儲、安全性。數(shù)據(jù)庫快照SQLServer數(shù)據(jù)庫的只讀靜態(tài)視圖。自創(chuàng)建快照起,數(shù)據(jù)庫快照在事務(wù)上與源數(shù)據(jù)庫一致,始終與其源數(shù)據(jù)庫位于同一服務(wù)器實(shí)例上。數(shù)據(jù)庫快照在數(shù)據(jù)頁級運(yùn)行。在第一次修改源數(shù)據(jù)庫頁之前,先將原始頁從源數(shù)據(jù)庫復(fù)制到快照??煺沾鎯υ柬摚A羲鼈冊趧?chuàng)建快照時的數(shù)據(jù)記錄。用戶數(shù)據(jù)庫是用戶通過SSMS窗口或T-SQL命令創(chuàng)建的數(shù)據(jù)庫,用戶可以創(chuàng)建多個數(shù)據(jù)庫。任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息2.1.3SQLServer2022服務(wù)器驗(yàn)證模式系統(tǒng)提供Windows身份驗(yàn)證、SQLSERVER身份驗(yàn)證、Azure活動目錄等8種身份驗(yàn)證模式,最常用的前兩種。(1)Windows身份驗(yàn)證:適合于域內(nèi)連接,SQLServer使用Windows用戶信息驗(yàn)證賬戶名和密碼,即SQLSERVER信任Windows用戶(2)SQLSERVER身份驗(yàn)證:是一種混合驗(yàn)證模式,允許用戶使用Windows身份驗(yàn)證,也允許遠(yuǎn)程用戶通過SQLServer身份驗(yàn)證進(jìn)行連接,這時需要輸入登錄名和密碼。任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息2.1.3SQLServer2022服務(wù)器驗(yàn)證模式設(shè)置登錄賬號的方法是:右擊服務(wù)器名--【屬性】--【安全性】選項(xiàng)卡,在服務(wù)器身份驗(yàn)證方式欄中選擇一種驗(yàn)證模式。任務(wù)2.1創(chuàng)建數(shù)據(jù)庫2.2.1

文件與文件組創(chuàng)建數(shù)據(jù)庫有2種方法:通過SSMS管理器窗口的交互方式命令方式,命令方式用途更廣,適合于程序員開發(fā)軟件使用數(shù)據(jù)庫包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)兩部分,對應(yīng)的文件也有邏輯文件和物理文件之分。一個數(shù)據(jù)庫對應(yīng)的物理文件主要有3種類型。(1)主數(shù)據(jù)庫文件:類型名是.mdf,是最重要的數(shù)據(jù)庫文件,存儲數(shù)據(jù)庫啟動信息和全部數(shù)據(jù),一個數(shù)據(jù)庫至少要有一個mdf文件。(2)輔助數(shù)據(jù)庫文件:也稱次要數(shù)據(jù)庫文件.ndf,用于存儲除了主數(shù)據(jù)庫文件之外的其它文件信息,保存主庫中沒有存貯的數(shù)據(jù),一個數(shù)據(jù)庫可以有一個或者多個.ndf文件,也可以沒有.ndf文件。(3)事務(wù)日志文件:記錄對數(shù)據(jù)庫的操作情況,類型名是.ldf。一個數(shù)據(jù)庫至少包含一個主數(shù)據(jù)庫文件和一個事務(wù)日志文件。當(dāng)一個數(shù)據(jù)庫數(shù)據(jù)內(nèi)容非常多時,數(shù)據(jù)文件也會有多個,為方便管理,可以將文件分成若干組,稱為文件組filegroup,每一個數(shù)據(jù)文件必須屬于且只能屬于一個組,系統(tǒng)默認(rèn)的文件組是PRIMARY,即主文件組,主數(shù)據(jù)庫文件就放在這個組中,用戶還可以建立新文件組,并將其它文件存入進(jìn)來。日志文件不適用于文件組,它獨(dú)立存在。任務(wù)2.2創(chuàng)建數(shù)據(jù)庫2.2.2用SSMS管理器窗口建立數(shù)據(jù)庫新建數(shù)據(jù)庫時,需指定數(shù)據(jù)庫名,對應(yīng)的邏輯名,物理文件名及存儲位置,初始大小,最大存儲容量及增長速度等參數(shù),同一數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)庫名不允許相同,物理文件存放的文件夾要事先建立好。任務(wù)2.2例2-1:利用管理器窗口建立libsys數(shù)據(jù)庫。主要參數(shù)有:(1)主數(shù)據(jù)文件的邏輯名為libsys,對應(yīng)的物理文件存放在d:\data文件夾中,文件名為libsys_data.mdf,初始大小為10MB,最大容量是100MB,增長速度為10MB。(2)日志文件的邏輯名為libsys_log,對應(yīng)的物理文件名libsys_log.ldf,初始容量5MB,增長速度15%,最大容量50MB。創(chuàng)建數(shù)據(jù)庫2.2.2用SSMS管理器窗口建立數(shù)據(jù)庫說明:數(shù)據(jù)文件和日志文件最好保存在同一個文件夾,便于管理。文件大小的默認(rèn)單位是MB,必須為整數(shù)值,如果用MB作為容量單位,則MB可以省略,還可以用GB、TB作為單位。數(shù)據(jù)庫不允許重名,如果數(shù)據(jù)庫已經(jīng)存在,必須先刪除后才能建立。數(shù)據(jù)庫名和邏輯名都必須符合標(biāo)識符的規(guī)定,以英文字母或者漢字開頭,后面可以跟英文字母、數(shù)字、漢字、下劃線,最長128個字符,不可用數(shù)字開頭,標(biāo)識符中不可出現(xiàn)其它標(biāo)點(diǎn)符號。任務(wù)2.2練習(xí):利用管理器窗口建立AddressBook(通信錄)數(shù)據(jù)庫。主要參數(shù):(1)主數(shù)據(jù)文件邏輯名為ABMIS,對應(yīng)的物理文件存放在d:\abdata文件夾中,文件名為ab_data.mdf,最大容量是150MB。(2)日志文件的邏輯名為ABMIS_log,對應(yīng)的物理文件名ab_log.ldf,初始容量15MB,增長速度12%,最大容量75MB。(3)缺省參數(shù)全部取默認(rèn)值。創(chuàng)建數(shù)據(jù)庫2.2.3用SQL命令建立數(shù)據(jù)庫建立數(shù)據(jù)庫的SQL命令格式是:CREATEDATABASE數(shù)據(jù)庫名[ON[PRIMARY](主數(shù)據(jù)文件標(biāo)識)……][LOGON(日志文件標(biāo)識)……]其中:<文件標(biāo)識>包括5個參數(shù),即[NAME=邏輯名][,F(xiàn)ILENAME='磁盤文件名'][,SIZE=初始容量][,MAXSIZE={最大容量|UNLIMITED}][,F(xiàn)ILEGROWTH=增長速度]任務(wù)2.2說明:(1)命令格式中的方括號[]表示本項(xiàng)可以缺省,但有和沒有的結(jié)果不同,缺省時,系統(tǒng)會取默認(rèn)值,否則就是指定的值。(2)PRIMARY表示主數(shù)據(jù)庫文件,因?yàn)槭悄J(rèn)值,可以省略。(3)“……”表示可以有多個文件,各個文件的格式相同。(4)常量UNLIMITED表示最大容量無限制。(5)磁盤文件中可以帶路徑,表示存儲位置,如果不帶路徑,則存儲到默認(rèn)文件夾中。(6)增長速度可以用百分?jǐn)?shù)n%表示,也可以是nMB。創(chuàng)建數(shù)據(jù)庫2.2.3用SQL命令建立數(shù)據(jù)庫例2-4建立一個庫company,主文件邏輯名為company_data,磁盤文件為company.mdf,初始大小為20M,最大不限,日志文件邏輯名為company_log,物理文件為company.ldf,初始大小為2M,最大10M,增加速度為1M。物理文件放在d:\mydb中,寫出SQL命令。先檢查D盤下有無mydb文件夾,若無,則建立。輸入建庫代碼。任務(wù)2.2CREATEDATABASEcompanyON(NAME=company_data,FILENAME='d:\mydb\company.mdf',SIZE=20,MAXSIZE=UNLIMITED)LOGON(NAME=company_log,FILENAME='d:\mydb\company.ldf',SIZE=2MB,FILEGROWTH=1,MAXSIZE=10)創(chuàng)建數(shù)據(jù)庫2.2.3用SQL命令建立數(shù)據(jù)庫練習(xí):建立數(shù)據(jù)庫libsys,主文件邏輯名為libsys,磁盤文件為libsysdata.mdf,初始大小為100M,增長速度10MB,最大不限,日志文件邏輯名為libsyslog,物理文件為libsyslog.ldf,初始大小為20M,最大1GB,增加速度為默認(rèn)值,物理文件放在d:\data中,寫出SQL命令。任務(wù)2.2管理數(shù)據(jù)庫2.3.1修改數(shù)據(jù)庫修改數(shù)據(jù)庫是指修改數(shù)據(jù)庫名、修改物理文件對應(yīng)的參數(shù)、向數(shù)據(jù)庫添加文件及文件組、刪除文件及文件組等參數(shù)。修改數(shù)據(jù)庫有2種方法:用SSMS管理器的菜單方式+用命令方式。任務(wù)2.31、用SSMS管理器窗口方式修改數(shù)據(jù)庫在SSMS管理器窗口中,找到要修改的數(shù)據(jù)庫名,在其【屬性】對話框中修改。管理數(shù)據(jù)庫2.3.1修改數(shù)據(jù)庫任務(wù)2.32、用命令修改數(shù)據(jù)庫格式是:ALTERDATABASE<數(shù)據(jù)庫名>{ADDFILE<文件標(biāo)識>[,…n]|ADDLOGFILE<文件標(biāo)識>[,…n]|REMOVEFILE邏輯文件名|MODIFYFILE<文件標(biāo)識>|MODIFYNAME=新數(shù)據(jù)庫名}參數(shù)說明:(1)ADDFILE:指定要添加的主數(shù)據(jù)文件。(2)ADDLOGFILE:將日志文件添加到指定的數(shù)據(jù)庫。(3)REMOVEFILE:從數(shù)據(jù)庫系統(tǒng)表中刪除文件。(4)MODIFYFILE:指定要更改給定的文件,包括邏輯名、初始大小、增長速度、最大容量和存儲位置。(5)不能夠在一個命令中同時修改2個文件的屬性,如果要修改兩個文件的屬性,要兩次使用ALTERDATABASE命令,每個命令只修改一個文件的屬性。(6)若要更改數(shù)據(jù)文件或日志文件的邏輯名稱,應(yīng)在NAME選項(xiàng)中指定要改名的邏輯文件名稱,并在NEWNAME選項(xiàng)中指定文件的新邏輯名稱。其格式是:ALTERDATABASE<數(shù)據(jù)庫名>MODIFYFILE(NAME=原邏輯名,NEWNAME=新邏輯名)管理數(shù)據(jù)庫2.3.1修改數(shù)據(jù)庫2、用命令修改數(shù)據(jù)庫例2-6:將數(shù)據(jù)庫company改名為comp,寫出SQL命令。ALTERDATABASEcompanyMODIFYNAME=comp任務(wù)2.3例2-7對于例2-3中建立的數(shù)據(jù)庫student,將數(shù)據(jù)文件的最大容量修改為200MB;每次以10MB的空間增長;日志文件修改為每次以15%的空間增長。在寫SQL命令前,必須了解數(shù)據(jù)文件和日志文件的邏輯名(分別為student_data和student_log)。1. ALTERDATABASEstudent2. MODIFYFILE3. (NAME='student_data',4. MAXSIZE=200MB,5. FILEGROWTH=10MB6. )7. GO8. ALTERDATABASEstudent--此行不能省略9. MODIFYFILE

--此行也不能省略10. (NAME='student_log',11. FILEGROWTH=15%12. )管理數(shù)據(jù)庫2.3.2刪除數(shù)據(jù)庫1、用SSMS窗口刪除數(shù)據(jù)庫在SSMS管理器窗口中,找到要修改的數(shù)據(jù)庫名,右擊它,在彈出的快捷菜單中選擇【刪除】。任務(wù)2.32、用命令刪除數(shù)據(jù)庫命令是:DROPDATABASE數(shù)據(jù)庫名[,…n]可以用一條命令同時刪除多個數(shù)據(jù)庫。例2-9刪除用戶數(shù)據(jù)庫test。USEmasterGODROPDATABASEtestGO例2-10同時刪除數(shù)據(jù)庫test1和test2,假設(shè)test1和test2都已經(jīng)存在。DROPDATABASEtest,test2管理數(shù)據(jù)庫2.3.3查看數(shù)據(jù)庫1、用SSMS窗口查看數(shù)據(jù)庫在SSMS管理器窗口中,在指定數(shù)據(jù)庫的屬性窗口即可查看。任務(wù)2.32、用命令查看數(shù)據(jù)庫查看數(shù)據(jù)庫屬性的命令是sp_helpdb,格式是:EXECUTEsp_helpdb[數(shù)據(jù)庫名]例2-11查看數(shù)據(jù)庫libsys的屬性。

sp_helpdblibsys例2-12查看所有數(shù)據(jù)庫的屬性。EXECUTEsp_helpdb管理數(shù)據(jù)庫2.3.4分離與附加數(shù)據(jù)庫1、分離數(shù)據(jù)庫例2-13分離數(shù)據(jù)庫libsys。(1)用SSMS窗口實(shí)現(xiàn):在數(shù)據(jù)庫屬性窗口中,依次執(zhí)行【任務(wù)】-【分離】。任務(wù)2.3(2)用命令分離數(shù)據(jù)庫使用系統(tǒng)存儲過程sp_detach_db,其格式是:EXECUTEsp_detach_db數(shù)據(jù)庫名USEmasterGOEXECUTEsp_detach_dblibsys管理數(shù)據(jù)庫2.3.4分離與附加數(shù)據(jù)庫2、附加數(shù)據(jù)庫例2-14將例1-12中分離的數(shù)據(jù)庫libsys附加到SQLSERVER系統(tǒng),物理文件存放在D盤data文件夾中,分別是libsysdata.mdf和libsyslog.ldf。(1)用SSMS窗口實(shí)現(xiàn):在數(shù)據(jù)庫屬性窗口中,依次執(zhí)行【附加】-【定位數(shù)據(jù)庫】。任務(wù)2.3(2)用CREATEdatabase命令完成,格式是:CREATEDATABASE數(shù)據(jù)庫名ON(FILENAME=主數(shù)據(jù)庫物理文件名)FORATTACH

例2-14的命令是:CREATEDATABASElibsysON(FILENAME='D:\data\libsysdata.mdf')FORATTACH數(shù)據(jù)庫的創(chuàng)建與管理項(xiàng)目總結(jié)項(xiàng)目二1、主要內(nèi)容任務(wù)2.1查看數(shù)據(jù)庫服務(wù)器信息任務(wù)2.2創(chuàng)建數(shù)據(jù)庫任務(wù)2.3管理數(shù)據(jù)庫2、自測管理數(shù)據(jù)庫的系統(tǒng)存儲過程有哪些?創(chuàng)建數(shù)據(jù)庫時,需要提供哪些參數(shù)?如何實(shí)現(xiàn)將數(shù)據(jù)庫轉(zhuǎn)移到其它機(jī)器上?在Windows中刪除對應(yīng)的文件以后,數(shù)據(jù)庫還能正常使用嗎?項(xiàng)目三數(shù)據(jù)表的創(chuàng)建與管理任務(wù)3.1數(shù)據(jù)完整性任務(wù)3.2創(chuàng)建表結(jié)構(gòu)任務(wù)3.3修改數(shù)據(jù)表結(jié)構(gòu)123主要知識點(diǎn)數(shù)據(jù)完整性及實(shí)現(xiàn)方法運(yùn)用SSMS創(chuàng)建表結(jié)構(gòu)運(yùn)用命令方式管理表結(jié)構(gòu)表的修改與維護(hù)學(xué)習(xí)目標(biāo)數(shù)據(jù)完整性類型數(shù)據(jù)完整性實(shí)現(xiàn)方法創(chuàng)建表修改表刪除表維護(hù)表結(jié)構(gòu)任務(wù)3.1數(shù)據(jù)完整性3.1.1

數(shù)據(jù)完整性類型3.1.2數(shù)據(jù)完整性約束實(shí)現(xiàn)數(shù)據(jù)完整性3.1.1

數(shù)據(jù)完整性類型數(shù)據(jù)完整性包括域完整性、實(shí)體完整性、參照完整性、自定義完整性。數(shù)據(jù)表,是數(shù)據(jù)庫的最主要組成成分,由若干欄目(列或字段)和若干行組成,每一行稱為一條記錄。所有列全部加起來組成表結(jié)構(gòu),表就是由結(jié)構(gòu)和記錄兩部分組成的。每個欄目均需要設(shè)置其名稱(即列名、字段名)、數(shù)據(jù)類型、長度、約束,列名必須符合標(biāo)識符的要求,數(shù)據(jù)類型由系統(tǒng)規(guī)定,長度是一個整數(shù),表示這個列最大可以輸入多少個字符,而約束是對這個列的值設(shè)置的限制條件,稱為域完整性約束。各個字段之間可能存在的關(guān)聯(lián)關(guān)系,稱為實(shí)體完整性約束。表與表之間也可能存在的相互關(guān)系,稱為參照完整性約束。任務(wù)3.1數(shù)據(jù)完整性3.1.1

數(shù)據(jù)完整性類型數(shù)據(jù)完整性包括4種類型:實(shí)體完整性、域完整性、參照完整性、自定義完整性。域完整性:作用的對象是列(字段),是給指定列的輸入設(shè)置有效性約束條件。強(qiáng)制域有效性的方法有:限制類型(通過數(shù)據(jù)類型)、格式(通過CHECK約束和規(guī)則)或可能值的范圍(通過FOREIGNKEY約束、CHECK約束、DEFAULT定義、NOTNULL定義和規(guī)則)。實(shí)體完整性:作用的對象是行(記錄),強(qiáng)制表的標(biāo)識符列或主鍵的完整性(通過UNIQUE約束、PRIMARYKEY約束或IDENTITY屬性約束)。參照完整性:作用的對象是關(guān)系(表)。在輸人或刪除記錄時,參照完整性保持表之間已定義的關(guān)系?;谧颖硗怄I與主表主鍵之間或子表外鍵與主表唯一鍵之間的關(guān)系(通過FOREIGNKEY和CHECK約束)。用戶定義完整性:用戶可以定義不屬于其他任何完整性分類的特定業(yè)務(wù)規(guī)則,作用的對象可以是列,也可以是記錄或表。所有的完整性類型都支持用戶定義完整性,如CREATETABLE中的所有列級和表級約束、存儲過程和觸發(fā)器。任務(wù)3.1數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)增加約束的命令格式是:

addconstraint約束名約束內(nèi)容約束名的通用格式是:約束類型_列名,如:主鍵約束PK_,唯一性約束UQ_,外鍵約束FK_,檢查約束CK_,默認(rèn)值約束DF_等。以libsys數(shù)據(jù)庫的表bookinfo(BookID,BookName,BookType,Writer,Publisher,PublishDate,Price,BuyDate,BuyCount,AbleCount,Remark)為例,實(shí)現(xiàn)數(shù)據(jù)完整性約束。任務(wù)3.1數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)1、實(shí)體完整性約束的實(shí)現(xiàn)

包括PRIMARYKEY(主鍵約束)、UNIQUE(唯一性約束)和IDENTITY(標(biāo)識列約束)等。(1)PRIMARYKEY主鍵約束的實(shí)現(xiàn)。SSMS實(shí)現(xiàn):在表的設(shè)計(jì)窗口中,選擇主鍵列,單擊快捷菜單【設(shè)置主鍵】即可。任務(wù)3.1數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)1、實(shí)體完整性約束的實(shí)現(xiàn)

任務(wù)3.1用命令實(shí)現(xiàn)先定義一個約束PK_bookid,命令是:addconstrainPK_bookidprimarykeybookid,將以上命令加進(jìn)建表命令的后面。也可以在建立列bookid的命令中添加primarykey或者constrainPK_bookidprimarykey。如:createtablebookinfo(Bookidchar(20)constraintPK_bookidprimarykey,

--這樣也可以:Bookidchar(20)primarykey,……)如果要設(shè)置BookName和Writer兩列均為主鍵,則命令是:addconstraintPK_BookName_Writerprimarykey(BookName,Writer)數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)1、實(shí)體完整性約束的實(shí)現(xiàn)

任務(wù)3.1(2)UNIQUE唯一性約束的實(shí)現(xiàn)用SSMS實(shí)現(xiàn):任務(wù):BookID為唯一性約束在表設(shè)計(jì)器中,選擇【索引和鍵】,打開“索引/鍵”對話框,點(diǎn)擊【添加】按鈕,創(chuàng)建索引IX_bookinfo,選擇bookid列,將類型修改為“是唯一的”,關(guān)閉窗口后保存修改。數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)1、實(shí)體完整性約束的實(shí)現(xiàn)

任務(wù)3.1(2)UNIQUE唯一性約束的實(shí)現(xiàn)用命令實(shí)現(xiàn):任務(wù):BookID為唯一性約束用命令為表bookinfo創(chuàng)建“UNIQUE約束”:altertablebookinfoaddconstraintUQ_bookidunique(bookid)或者在建表時直接給bookid列增加UNIQUE約束:createtablebookinfo(

Bookidchar(20)constraintUQ_bookidunique(bookid),--Bookidchar(20)unique,……)數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)1、實(shí)體完整性約束的實(shí)現(xiàn)

任務(wù)3.1(3)標(biāo)識列約束的實(shí)現(xiàn)標(biāo)識列(identity)就是給表輸入記錄時此列自動編號,即流水號,默認(rèn)從1開始編號,稱為標(biāo)識種子,增量為1,標(biāo)識列要求是整數(shù),通常為int類型,標(biāo)識列的值不能手動輸入,不能為空,不能修改。任務(wù):給表bookinfo增加一列no,要求自動編號。用SSMS實(shí)現(xiàn)的方法:打開表設(shè)計(jì)窗口,選擇no列,在底部的列屬性窗格中,雙擊【標(biāo)識規(guī)范】欄的【是標(biāo)識】,即可在“是”與“否”之間進(jìn)行切換。數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)1、實(shí)體完整性約束的實(shí)現(xiàn)

任務(wù)3.1(3)標(biāo)識列約束的實(shí)現(xiàn)用命令實(shí)現(xiàn)的方法:createtablebookinfo(nointidentity(1,1),……)總結(jié):建立了約束后,如果要在SSMS窗口中以交互方式刪除約束,方法與建立時相同,如果用命令實(shí)現(xiàn),命令是dropconstraint約束名。數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)2、域完整性約束的實(shí)現(xiàn)

任務(wù)3.1(2)默認(rèn)值約束的實(shí)現(xiàn)假設(shè)要將bookinfo表的出版日期列publishdate的默認(rèn)值設(shè)為系統(tǒng)日期,對應(yīng)的系統(tǒng)函數(shù)是getdate(),處理方法是:用SSMS窗口:打開bookinfo表設(shè)計(jì)窗口,選擇列publishdate,在下方的列屬性窗格中,將屬性“默認(rèn)值或綁定”設(shè)為getdate()。用命令:建表窗口中,給列publishdate增加默認(rèn)值約束defaultgetdate(),即:PublishdatedatetimenullconstraintDF_publishdatedefaultgetdate()或者Publishdatedatetimenulldefaultgetdate()或者Publishdatedatetimenulldefault(getdate())數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)2、域完整性約束的實(shí)現(xiàn)

任務(wù)3.1(3)檢查約束的實(shí)現(xiàn)CHECK檢查約束通過限制輸入到列中的值來強(qiáng)制域的完整性。格式是:check邏輯表達(dá)式。任務(wù):將readerinfo表ReaderAge列的取值范圍限制在18~60歲之間,表示式為:checkReaderAge>=18andReaderAge<=60。用SSMS實(shí)現(xiàn):單擊工具欄中的【管理CHECK約束】按鈕,打開CHECK約束對話框。單擊【添加】按鈕,在名稱輸入框中把默認(rèn)名改為CK_ReaderAge,在表達(dá)式右端輸入表達(dá)式:checkReaderAgebetween18and60。數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)2、域完整性約束的實(shí)現(xiàn)

任務(wù)3.1(3)檢查約束的實(shí)現(xiàn)任務(wù):將readerinfo表ReaderAge列的取值范圍限制在18~60歲之間,表示式為:checkReaderAge>=18andReaderAge<=60。用命令實(shí)現(xiàn):如果作為表定義的一部分在創(chuàng)建表時創(chuàng)建檢查約束,命令是:ReaderAgeintconstraintCK_ReaderAgecheckReaderAge>=18andReaderAge<=60

或者ReaderAgeintcheckReaderAgebetween18and60也可以添加到現(xiàn)有表中。如:AddconstraintCK_ReaderAgecheckReaderAge>=18andReaderAge<=60數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)3、參照完整性約束的實(shí)現(xiàn)

任務(wù)3.1參照完整性指的是表與表之間存在的相互依賴性,如數(shù)據(jù)庫libsys中,有3張表,即bookinfo圖書信息表、readerinfo讀者信息表和borrowinfo借閱情況表,borrowinfo記錄的信息是哪些讀者在什么時候借閱了哪些書,因此borrowinfo表的readerID列(表示讀者號)來自于borrowinfo表中的readerID,bookid列(表示書號)來源于bookinfo表的bookid列,用外鍵約束(foreignkey)實(shí)現(xiàn),bookinfo和readerinfo稱為主鍵表,borrowinfo稱為外鍵表。用SSMS實(shí)現(xiàn):用表設(shè)計(jì)器打開外鍵表borrowinfo,單擊工具欄中的【關(guān)系】按鈕,打開【外鍵關(guān)系】對話框。單擊【添加】按鈕,添加一個關(guān)系,單擊【表和列規(guī)范】右端的按鈕,打開【表和列】對話框。主鍵表選擇表BookInfo,主鍵為字段BookID,外鍵表選擇borrowinfo,外鍵為字段BookID,點(diǎn)擊【確定】,返回關(guān)系對話框,將標(biāo)識名稱修改為FK_borrowinf_BookInfo_BookID。同樣的方法設(shè)置外鍵Readerid。數(shù)據(jù)完整性3.1.2

數(shù)據(jù)完整性約束的實(shí)現(xiàn)3、參照完整性約束的實(shí)現(xiàn)

任務(wù)3.1參照完整性指的是表與表之間存在的相互依賴性,如數(shù)據(jù)庫libsys中,有3張表,即bookinfo圖書信息表、readerinfo讀者信息表和borrowinfo借閱情況表,borrowinfo記錄的信息是哪些讀者在什么時候借閱了哪些書,因此borrowinfo表的readerID列(表示讀者號)來自于borrowinfo表中的readerID,bookid列(表示書號)來源于bookinfo表的bookid列,用外鍵約束(foreignkey)實(shí)現(xiàn),bookinfo和readerinfo稱為主鍵表,borrowinfo稱為外鍵表。用命令實(shí)現(xiàn):在建立外鍵表borrowinfo的命令中,設(shè)置列ReaderID時,增加外鍵約束,命令是:ReaderIDchar(10)primarykeyforeignkeyreferencesReaderInfo(ReaderID)或者ReaderIDchar(10)primarykeyconstraintFK_BorrowInfo_ReaderInfo_ReaderIDforeignkeyreferencesReaderInfo(ReaderID)2.同樣建立外鍵表borrowinfo的外鍵BookID的命令是:BookIDchar(10)primarykeyforeignkeyreferencesBookInfo(BookID)或者ReaderIDchar(10)primarykeyconstraintFK_BorrowInfo_BookInfo_BookIDforeignkeyreferencesBookInfo(BookID)創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)3.2.1

用SSMS創(chuàng)建表結(jié)構(gòu)例3-1利用SSMS給libsys添加讀者信息表readerinfo。

任務(wù)3.2【數(shù)據(jù)庫】-【libsys】-【表】,右擊“表”,-【新建】-【表】。設(shè)置各列的列名、數(shù)據(jù)類型、允許Null值設(shè)置主鍵保存表創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)3.2.2

用CREATETABLE命令創(chuàng)建表結(jié)構(gòu)建立表的命令格式是:

任務(wù)3.2CREATETABLE表名(列名類型(長度){列約束}[,…n][表約束])例3-2利用SQL命令給libsys數(shù)據(jù)庫添加讀者信息表ReaderInfo,要求如圖:

USElibsysGO--建立ReaderInfo表的結(jié)構(gòu)CREATETABLEReaderInfo(

ReaderIDchar(10)PRIMARYKEY,

ReaderNamechar(10)NOTNULL,

ReaderSexchar(2)NOTNULL,

ReaderAgeintNULL,

Departmentvarchar(30)NOTNULL,

ReaderTypechar(10)NOTNULL,

StartDatedatetimeNOTNULL,

Mobilevarchar(12)NULL,

Emailvarchar(40)NULL,

Memoryvarchar(50)NULL)GO創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)3.2.3

創(chuàng)建帶完整性約束的表任務(wù)3.2例3-4:建立一個工人信息表,包括編號、姓名、職務(wù)。要求主鍵為編號姓名具有唯一性,用constraint定義約束。createtable職工信息表(編號char(10),姓名char(8),職務(wù)char(12),constraintpk_職工信息表_編號primarykey(編號),constraintuq_職工信息表_姓名unique(姓名))創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)3.2.3

創(chuàng)建帶完整性約束的表任務(wù)3.2例3-5:建立一個職員基本信息表baseinfo,包括編號no、姓名name、性別sex、電話tele、Email要求:性別只接受男和女,默認(rèn)為男,電話必須是8位數(shù)字,Email中必須含有@符號。createtablebaseinfo(nochar(10),namechar(8),sexchar(2)default'男',constraintchk_sexcheck(sex='男'orsex='女'),telechar(8),constraintCK_telecheck(telelike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),Emailvarchar(30),constraintck_Emailcheck(Emaillike'%@%'))創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)3.2.3

創(chuàng)建帶完整性約束的表任務(wù)3.2例3-6外鍵的使用,用SQL命令為數(shù)據(jù)庫scoresys建立表Score,如表。其中SID字段是主鍵,也是外鍵約束,來源于Student表的SID字段,CourseID字段是主鍵,也是外鍵約束,來源于Course表的CourseID字段。USEscoresysGOCREATETABLEScore(SIDchar(12)foreignkeyreferencesstudent(SID),CourseIDchar(10)foreignkeyreferencescourse(CourseID),ExamTimedatetimeNOTNULL,Markdecimal(4,1)NULL,ExamPlacevarchar(20)NULL,Memoryvarchar(20)NULL,PRIMARYKEY(SID,CourseID,ExamTime))GO修改數(shù)據(jù)表結(jié)構(gòu)3.3.1

用SSMS修改表結(jié)構(gòu)任務(wù)3.3右擊表名,在彈出的快捷菜單中,執(zhí)行【設(shè)計(jì)】即可打開表結(jié)構(gòu),與建立表時的顯示內(nèi)容相同,可以直接修改。修改完成后,單擊【保存】按鈕或者關(guān)閉標(biāo)簽頁面使修改生效。如果表中已經(jīng)輸入了記錄,則修改結(jié)構(gòu)時,可能會造成數(shù)據(jù)的損壞或者丟失,需要謹(jǐn)慎操作。比如某列的數(shù)據(jù)類型發(fā)生改變,則這列的數(shù)據(jù)可能會丟失,如果某列的長度由長變短,則原來記錄中超出此列現(xiàn)有長度的數(shù)據(jù)將會被自動截掉,且不可恢復(fù)。修改數(shù)據(jù)表結(jié)構(gòu)3.3.2

用命令修改表結(jié)構(gòu)任務(wù)3.3修改表結(jié)構(gòu)的命令是ALTERTABLE。ALTERTABLE表名{ALTERCOLUMN列名類型[列約束]ADD列名類型[列約束]ADDCONSTRAINT約束名約束內(nèi)容DROPCOLUMN列名[,…n]}例3-7假設(shè)已有數(shù)據(jù)庫factory,增加一個工人信息表employee。usefactorygocreatetableemployee(idchar(8)primarykey,namechar(20)notnull,departmentchar(20)null,ageint,cqint,)修改數(shù)據(jù)表結(jié)構(gòu)3.3.2

用命令修改表結(jié)構(gòu)任務(wù)3.3要求:在表中增加一個salary字段,刪除age字段,修改cq字段的數(shù)據(jù)類型。例3-7假設(shè)已有數(shù)據(jù)庫factory,增加一個工人信息表employee。usefactorygocreatetableemployee(idchar(8)primarykey,namechar(20)notnull,departmentchar(20)null,ageint,cqint,)altertableemployeeaddsalaryfloataltertableemployeedropcolumnagealtertableemployeealtercolumncqdecimal(4,1)例3-8在上例數(shù)據(jù)庫factory的工人信息表employee中,增加一個約束,將年齡(age)限制在20-60之間。altertableemployeeaddconstraintchk_agecheck(age>=20andage<=60)數(shù)據(jù)表的創(chuàng)建與管理項(xiàng)目總結(jié)項(xiàng)目三1、主要內(nèi)容任務(wù)3.1數(shù)據(jù)的完整性約束任務(wù)3.2創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)任務(wù)3.3修改數(shù)據(jù)表結(jié)構(gòu)2、自測數(shù)據(jù)的完整性約束有哪些?創(chuàng)建數(shù)據(jù)表結(jié)構(gòu)時,列的參數(shù)有哪些?創(chuàng)建帶約束的數(shù)據(jù)表結(jié)構(gòu),用SSMS和命令實(shí)現(xiàn),哪個更容易一點(diǎn)?刪除數(shù)據(jù)后,已建立數(shù)據(jù)表還存在嗎?項(xiàng)目四數(shù)據(jù)基本操作任務(wù)4.1向數(shù)據(jù)表中添加記錄任務(wù)4.3刪除數(shù)據(jù)表中的數(shù)據(jù)記錄任務(wù)4.2更新數(shù)據(jù)表中的數(shù)據(jù)記錄123任務(wù)4.1向數(shù)據(jù)表中添加記錄4.1.1用SSMS向數(shù)據(jù)庫表中添加記錄4.1.2用SQL命令向數(shù)據(jù)庫表中添加記錄向數(shù)據(jù)表中添加記錄4.1.1用SSMS向數(shù)據(jù)庫表中添加記錄在SSMS管理器窗口中,右擊表名,在表的快捷菜單中選擇“編輯前200行”,即可進(jìn)入記錄的輸入界面,如圖4-1所示,依次輸入各條記錄的內(nèi)容即可(必須一條記錄輸入完整后才能輸入下一條記錄)。在輸入記錄時,當(dāng)前字段的值右邊會出現(xiàn)一個紅色的標(biāo)志,如圖4-2所示,表示數(shù)據(jù)已經(jīng)修改,提醒用戶保存數(shù)據(jù),單擊“保存”按鈕或者關(guān)閉窗口均可保存。任務(wù)4.1圖4-1數(shù)據(jù)表的快捷菜單圖4-2數(shù)據(jù)輸入輸入一條記錄后,系統(tǒng)會根據(jù)主鍵的值由小到大自動重新排列記錄的順序。如果輸入記錄后,如果記錄后無法保存,一般原因是不符合約束要求,請ESC鍵取消后重新輸入,連續(xù)按ESC鍵可以取消當(dāng)前行的全部輸入。任務(wù)4.1圖4-3表BookInfo的記錄向數(shù)據(jù)表中添加記錄4.1.1用SSMS向數(shù)據(jù)庫表中添加記錄1、用INSERT添加數(shù)據(jù)記錄在SQLSERVER中,可以使用INSERT命令向數(shù)據(jù)庫表中添加記錄,其格式是:INSERT[INTO]表名[(列名1[,列名2…])]VALUES(值1[,值2…])在命令格式中INTO,可以省略;如果輸入所有列的內(nèi)容,則列名列表可以省略,如果只輸入部分列的值,則列名列表不可以省略,且VALUSE后面的值必須與列名列表要一一對應(yīng)。任務(wù)4.1向數(shù)據(jù)表中添加記錄4.1.2用SQL命令向數(shù)據(jù)庫表中添加記錄例4-1用SQL命令給表BookInfo輸入圖4-3所示的11條記錄。任務(wù)4.1圖4-3表BookInfo的記錄向數(shù)據(jù)表中添加記錄4.1.2用SQL命令向數(shù)據(jù)庫表中添加記錄例4-1用SQL命令給表BookInfo輸入圖4-3所示的11條記錄。-

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論