SQL Server數(shù)據(jù)庫(kù)實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第1頁(yè)
SQL Server數(shù)據(jù)庫(kù)實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第2頁(yè)
SQL Server數(shù)據(jù)庫(kù)實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第3頁(yè)
SQL Server數(shù)據(jù)庫(kù)實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第4頁(yè)
SQL Server數(shù)據(jù)庫(kù)實(shí)踐教程 課件 03-SQL概述、數(shù)據(jù)定義_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

SQLServer數(shù)據(jù)庫(kù)實(shí)踐對(duì)數(shù)據(jù)庫(kù)有了初步認(rèn)識(shí)在圖形界面初步認(rèn)識(shí)了數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建表錄入數(shù)據(jù)現(xiàn)在開(kāi)始學(xué)習(xí)使用代碼操作數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)嵌在程序中使用(客戶(hù)機(jī))請(qǐng)求網(wǎng)頁(yè)瀏覽器進(jìn)程Web應(yīng)用服務(wù)器進(jìn)程LAN或WANWeb服務(wù)器進(jìn)程Web服務(wù)器Web應(yīng)用服務(wù)器/(瀏覽淘寶網(wǎng)為例)數(shù)據(jù)庫(kù)服務(wù)器進(jìn)程數(shù)據(jù)庫(kù)服務(wù)器ODBC①⑨返回頁(yè)面②發(fā)送到Web服務(wù)器③轉(zhuǎn)發(fā)動(dòng)態(tài)頁(yè)面請(qǐng)求④連接數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序⑤執(zhí)行查詢(xún)操作⑥返回查詢(xún)結(jié)果到數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序⑦返回結(jié)果到Web應(yīng)用服務(wù)器⑧生成并將動(dòng)態(tài)數(shù)據(jù)插入頁(yè)面,返回給Web服務(wù)器⑩接受網(wǎng)頁(yè),解釋并顯示網(wǎng)頁(yè)內(nèi)容數(shù)據(jù)庫(kù)SQL語(yǔ)言SQL(StructuredQueryLanguage)結(jié)構(gòu)化查詢(xún)語(yǔ)言,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言SQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言層次模型樹(shù)形結(jié)構(gòu)網(wǎng)狀模型網(wǎng)狀結(jié)構(gòu)層次數(shù)據(jù)庫(kù)、網(wǎng)狀數(shù)據(jù)庫(kù)已經(jīng)淘汰目前使用的基本都是關(guān)系數(shù)據(jù)庫(kù)使用關(guān)系模型,數(shù)據(jù)結(jié)構(gòu)是二維表SQL結(jié)構(gòu)化查詢(xún)語(yǔ)言,NotonlyQuery

SQL語(yǔ)言數(shù)據(jù)查詢(xún)數(shù)據(jù)定義數(shù)據(jù)操縱(增、刪、改)數(shù)據(jù)安全控制事務(wù)處理SQL語(yǔ)言一般分四類(lèi)數(shù)據(jù)定義語(yǔ)言(DDL,DataDefinitionLanguage)數(shù)據(jù)操縱語(yǔ)言(DML,DataManipulationLanguage)數(shù)據(jù)查詢(xún)語(yǔ)言(DQL,DataQuery

Language)數(shù)據(jù)控制語(yǔ)言(DCL,DataControlLanguage)(+事務(wù))九個(gè)主要?jiǎng)釉~數(shù)據(jù)定義操作對(duì)象操作方式數(shù)據(jù)庫(kù)createdatabasealterdatabasedropdatabase表createtablealtertabledroptable視圖createviewalterviewdropview

數(shù)據(jù)定義

三個(gè)動(dòng)詞數(shù)據(jù)定義語(yǔ)言需要兩個(gè)關(guān)鍵字有特定含義的單詞create創(chuàng)建

alter修改drop刪除創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)法:CREATEDATABASE<數(shù)據(jù)庫(kù)名>[[ON[PRIMARY]]([NAME=<數(shù)據(jù)文件邏輯文件名>][,FILENAME=<'數(shù)據(jù)文件物理文件名'>][,SIZE=<數(shù)據(jù)文件初始大小>],[,MAXSIZE=<數(shù)據(jù)文件最大大小>][,FILEGROWTH<數(shù)據(jù)文件增長(zhǎng)比例>][,…n])]

[LOGON([NAME=<日志文件邏輯文件名>][,FILENAME=<'日志文件物理文件名'>][,SIZE=<日志文件初始大小>],[,MAXSIZE=<日志文件最大大小>][,FILEGROWTH<日志文件增長(zhǎng)比例>][,…n])]可選可選提示:

語(yǔ)法中的方括號(hào)[]表示可選項(xiàng),非必需項(xiàng)創(chuàng)建數(shù)據(jù)庫(kù)【例題1】指定數(shù)據(jù)文件和日志文件屬性創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句:CREATEDATABASEMyDBON(NAME=MyDB_data,

--數(shù)據(jù)文件邏輯名,半角逗號(hào)分隔FILENAME='C:\MyDB_data.mdf',--數(shù)據(jù)文件物理名,半角引號(hào)SIZE=10MB,

--數(shù)據(jù)文件初始大小MAXSIZE=UNLIMITED,

--數(shù)據(jù)文件最大設(shè)置FILEGROWTH=10%)

--數(shù)據(jù)文件增長(zhǎng)方式,注意后面沒(méi)有逗號(hào)LOGON(NAME=MyDB_log,

--日志文件邏輯名

FILENAME='C:\MyDB_log.ldf',--日志文件物理名SIZE=3MB,

--日志文件初始大小MAXSIZE=5MB,

--日志文件最大設(shè)置

FILEGROWTH=1MB)

--日志文件增長(zhǎng)方式,注意后面沒(méi)有逗號(hào)操作演示--后面是單行注釋?zhuān)粓?zhí)行

創(chuàng)建數(shù)據(jù)庫(kù)

CREATEDATABASEMyDBON(NAME=MyDB_data,FILENAME='C:\MyDB_data.mdf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)

LOGON(NAME=MyDB_log,FILENAME='C:\MyDB_log.ldf',SIZE=3MB,MAXSIZE=5MB,

FILEGROWTH=1MB)

邏輯名NAME物理名FILENAME修改數(shù)據(jù)庫(kù)

語(yǔ)法ALTERDATABASE<數(shù)據(jù)庫(kù)名>{ADDFILE<數(shù)據(jù)文件參數(shù)>[,...n]|ADDLOGFILE<日志文件參數(shù)>[,...n]|REMOVEFILE數(shù)據(jù)文件邏輯名稱(chēng)|ADDFILEGROUP文件組名|REMOVEFILEGROUP文件組名|MODIFYFILE<數(shù)據(jù)文件參數(shù)> |MODIFYNAME=新數(shù)據(jù)庫(kù)名 |SET<參數(shù)>/*數(shù)據(jù)庫(kù)參數(shù)設(shè)置*/}/**/中間是多行注釋?zhuān)粓?zhí)行ALTERDATABASEMyDBADDFILE(NAME=MyDB_data2,FILENAME='C:\MyDB_data2.ndf',SIZE=10MB,MAXSIZE=2GB,FILEGROWTH=10%)

修改數(shù)據(jù)庫(kù)【例題2】增加數(shù)據(jù)文件次要數(shù)據(jù)文件擴(kuò)展名.NDF

修改數(shù)據(jù)庫(kù)【例題3】修改數(shù)據(jù)文件的增長(zhǎng)方式ALTERDATABASE

MyDBMODIFYFILE(NAME=MyDB_data2,FILEGROWTH=15%)刪除數(shù)據(jù)庫(kù)語(yǔ)法:DROPDATABASE<數(shù)據(jù)庫(kù)名>提示:會(huì)丟失數(shù)據(jù),慎重使用刪除數(shù)據(jù)庫(kù)【例題4】刪除

MyDB數(shù)據(jù)庫(kù)語(yǔ)句:DROPDATABASE

MyDB打開(kāi)數(shù)據(jù)庫(kù)

語(yǔ)法:

USE<數(shù)據(jù)庫(kù)名>

注意:

USE

DATABASE<數(shù)據(jù)庫(kù)名>

×

CREATEDATABASE<數(shù)據(jù)庫(kù)名>

ALTERDATABASE<數(shù)據(jù)庫(kù)名>

DROPDATABASE<數(shù)據(jù)庫(kù)名>

CREATETABLE<表名>

CREATEVIEW<視圖名>打開(kāi)數(shù)據(jù)庫(kù)創(chuàng)建表

語(yǔ)法CREATETABLE<表名>(<列名><數(shù)據(jù)類(lèi)型>[<列級(jí)完整性約束>][,<列名><數(shù)據(jù)類(lèi)型>[<列級(jí)完整性約束>]]…[,<表級(jí)完整性約束>]);問(wèn)題:數(shù)據(jù)類(lèi)型都有哪些?

完整性約束有哪些?SQLServer中常用數(shù)據(jù)類(lèi)型字符類(lèi)型數(shù)據(jù)類(lèi)型說(shuō)明char[(n)]固定長(zhǎng)度字符型,n的范圍:1~8000,默認(rèn)1字節(jié)varchar[(n)]可變長(zhǎng)字符型,n的范圍:1~8000,默認(rèn)1字節(jié)nchar[(n)]固定長(zhǎng)度Unicode字符型,每個(gè)字符都占2個(gè)字節(jié),n的范圍:1~4000,默認(rèn)1字節(jié)nvarchar[(n)]可變長(zhǎng)度Unicode字符型,每個(gè)字符都占2個(gè)字節(jié),n的范圍:1~4000之間,默認(rèn)1字節(jié)text大長(zhǎng)度字符型,最多231-1(2147483647)字節(jié)ntext大長(zhǎng)度Unicode字符數(shù)據(jù),最多(231-1)∕2(1073741823)個(gè)字符SQLServer中常用數(shù)據(jù)類(lèi)型數(shù)字類(lèi)型數(shù)據(jù)類(lèi)型說(shuō)明bigint長(zhǎng)整型,8個(gè)字節(jié),-263~263-1int整型,4個(gè)字節(jié),-231~231-1smallint短整型2個(gè)字節(jié),-215~215-1tinyint存儲(chǔ)長(zhǎng)度為1個(gè)字節(jié)無(wú)符號(hào)整型,0~255float浮點(diǎn)型,8個(gè)字節(jié),–1.79E+308~1.79E+308real浮點(diǎn)型,4個(gè)字節(jié),–3.40E+38~3.40E+38bit二進(jìn)制整數(shù),1位值,為1或0numeric(p,s)固定精度和小數(shù)浮點(diǎn)型,取值范圍-1038+1~1038–1,p指定精度,取值范圍從1~38。s指小數(shù)位數(shù),取值范圍從0~pdecimal(p,s)decimal與numeric數(shù)據(jù)類(lèi)型在功能上等效。SQLServer中常用數(shù)據(jù)類(lèi)型日期類(lèi)型數(shù)據(jù)類(lèi)型說(shuō)明精度date日期型,無(wú)時(shí)間,4個(gè)字節(jié),1753年1月1日~9999年12月31日1天datetime日期時(shí)間型,8個(gè)字節(jié),1753年1月1日~9999年12月31日3.33毫秒smalldatetime日期時(shí)間型,4個(gè)字節(jié),1900年1月1日~2079年6月6日1分鐘time時(shí)間型,不存日期,只存時(shí)分秒1毫秒SQLServer中常用數(shù)據(jù)類(lèi)型貨幣類(lèi)型數(shù)據(jù)類(lèi)型說(shuō)明money8個(gè)字節(jié),-263(-922,337,203,685,477.5808)~263-1(922,337,203,685,477.5807)smallmoney4個(gè)字節(jié),-231(-214,748.3648)~231-1(214,748.3647)完整性約束Primarykey:主鍵約束(唯一、不允許空)Foreignkeyreferences主鍵表(主鍵列):外鍵約束NULL|NOTNULL:非空約束(允許空|不允許空)Unique:唯一鍵約束Default(值):默認(rèn)值約束Check(完整表達(dá)式):檢查約束

完整性約束:保證數(shù)據(jù)完整性的一種方法,可以防止數(shù)據(jù)庫(kù)中輸入不符合語(yǔ)意規(guī)定、不正確的數(shù)據(jù)。創(chuàng)建基本表

約束分為表級(jí)約束和列級(jí)約束

只涉及一列的約束可以定義列級(jí),也可以定義表級(jí)。

涉及多列的約束必須定義為表級(jí)(如SC表聯(lián)合主鍵)。提示:語(yǔ)法中的方括號(hào)[]表示可選項(xiàng),非必需項(xiàng)

語(yǔ)法CREATETABLE<表名>(<列名><數(shù)據(jù)類(lèi)型>[<列級(jí)完整性約束>][,<列名><數(shù)據(jù)類(lèi)型>[<列級(jí)完整性約束>]]…[,<表級(jí)完整性約束>]);創(chuàng)建基本表[例3]建立“學(xué)生”表Student,學(xué)號(hào)是主碼。

CREATETABLEStudent(SnoINTNOTNULL

PRIMARYKEY,/*列級(jí)完整性約束*/

SnameVARCHAR(20),SsexCHAR(2),SageSMALLINT,SdeptVARCHAR(20))主鍵提示:數(shù)據(jù)庫(kù)中不區(qū)分大小寫(xiě)創(chuàng)建基本表[例4]建立一個(gè)“課程”表CourseCREATETABLECourse(CnoINTNOTNULL

PRIMARYKEY,CnameVARCHAR(40)UNIQUE,/*唯一約束*/

CpnoINT, CcreditSMALLINT

);創(chuàng)建基本表[例5]建立一個(gè)“學(xué)生選課”表SCCREATETABLESC(SnoINTFOREIGNKEYREFERENCESStudent(Sno),CnoINT,GradeSMALLINT,

PRIMARYKEY(Sno,Cno),/*表級(jí)約束,聯(lián)合主鍵,兩個(gè)屬性構(gòu)成*/FOREIGNKEY(Cno)REFERENCESCourse(Cno)

/*表級(jí)約束,外鍵,Cno

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論