資源描述:
《關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言 SQL語(yǔ)句實(shí)例ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQLSQL概述數(shù)據(jù)操縱數(shù)據(jù)控制數(shù)據(jù)定義數(shù)據(jù)查詢視圖SQL(StructuredQueryLanguage)即結(jié)構(gòu)化查詢語(yǔ)言。1974年,由Boyce和Chamberlin提出,并在IBM公司研制的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)原型SystemR上實(shí)現(xiàn)。由于SQL簡(jiǎn)單易學(xué),功能豐富,深受用戶及計(jì)算機(jī)工業(yè)界的歡迎。SQL概述1986年,美國(guó)國(guó)家標(biāo)準(zhǔn)局(ANSI)的數(shù)據(jù)庫(kù)委員會(huì)批準(zhǔn)了SQL作為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn),同年公布了SQL標(biāo)準(zhǔn)文本(SQL86)。1987年,國(guó)際化標(biāo)準(zhǔn)組織(ISO)也通過(guò)了這一標(biāo)準(zhǔn)。SQL是集數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操縱和數(shù)據(jù)控制
2、功能于一體的語(yǔ)言,具有功能豐富、使用靈活、語(yǔ)言簡(jiǎn)捷易學(xué)等特點(diǎn)。主要特點(diǎn)包括:(1)綜合統(tǒng)一。(2)高度非過(guò)程化。(3)面向集合的操作方式。(4)以同一種語(yǔ)法結(jié)構(gòu)提供多種使用方式。(5)語(yǔ)言簡(jiǎn)潔,易學(xué)易用。數(shù)據(jù)定義(基本表)定義Createtable<表名>(<列名1><數(shù)據(jù)類(lèi)型>(列寬度)[列級(jí)完整性條件],<列名2><數(shù)據(jù)類(lèi)型>(列寬度)[列級(jí)完整性條件],……[,<表級(jí)完整性約束條件>])注意:(1)不同表中相應(yīng)屬性列的類(lèi)型、寬度要一致。(2)注意約束的作用。例5:建立一個(gè)“學(xué)生”表student.CreatetableStudent(SnoChar(9)Pri
3、maryKey,SnameChar(20)Unique,SsexChar(2),SageSmallint,SdeptChar(20));例6:建立一個(gè)“課程”表Course.CreatetableCourse(CnoChar(4)PrimaryKey,CnameChar(40),CpnoChar(4),CcreditSmallint,F(xiàn)oreignKey(Cpno)ReferencesCourse(Cno));例6:建立一個(gè)“選課”表SC.CreatetableSC(SnoChar(9),CnoChar(4),GrradeSmallint,PrimaryKey(Sn
4、o,Cno),ForeignKey(Sno)ReferencesStudent(Sno),ForeignKey(Cno)ReferencesCourse(Cno));常用完整性約束主碼約束:PRIMARYKEY唯一性約束:UNIQUE非空值約束:NOTNULL參照完整性約束思考:PRIMARYKEY與UNIQUE的區(qū)別?例.建立一個(gè)學(xué)生表Student,它由學(xué)號(hào)Sno、姓名Sname、性別Ssex、年齡Sage、所在系Sdept五個(gè)屬性組成。其中學(xué)號(hào)不能為空,值是唯一的,并且姓名取值也唯一。CREATETABLEStudent(SnoCHAR(5)NOTNULLUN
5、IQUE,SnameCHAR(20)UNIQUE,SsexCHAR(1),SageINT,SdeptCHAR(15));修改Altertable<表名>Add<新列名><新列類(lèi)型>(列寬度)[完整性約束]DropColumn<列名>
6、<完整性約束名>AlterColumn<列名><列類(lèi)型>(列寬度)P87例8,例9,例10注意:使用Alter語(yǔ)句修改列時(shí)不能修改列名。例8:向Student表增加“入學(xué)時(shí)間”列,其數(shù)據(jù)類(lèi)型為日期型。ALTERTABLEStudentADDS_entranceDATE;不論基本表中原來(lái)是否已有數(shù)據(jù),新增加的列一律為空值。例9:將年齡的數(shù)
7、據(jù)類(lèi)型改為整型。ALTERTABLEStudentAlterColumnSageInt;修改原有的列定義有可能會(huì)破壞已有數(shù)據(jù)。例10:增加課程名必須取唯一值的約束。AlterTableCourseAddUnique(Cname);刪除Droptable<表名>Restrict
8、Cascade例11:刪除Student表。DropTableStudentSQLServer2005中是如何規(guī)定的?有限制無(wú)限制數(shù)據(jù)操縱插入數(shù)據(jù)刪除數(shù)據(jù)修改數(shù)據(jù)插入數(shù)據(jù)1.插入單個(gè)元組INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]VALUES(<常量1>[,<常量2>]…
9、)P115例1,例2,例3例1:將一個(gè)新學(xué)生元組(學(xué)號(hào):200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。INSERTINTOStudentVALUES('200215128','陳冬','男','IS',18);例2:將學(xué)生張成民的信息(‘200215126’;‘張成民’;‘男’;‘IS’;18)插入到Student表中。INSERTINTOStudentVALUES(‘200215126’,‘張成民’,‘男’,18,‘CS');例3:插入一條選課記錄('95020','1')。INSERTINTOSC(Sno,