資源描述:
《第03章 SQL 語言基礎(chǔ)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章SQL語言基礎(chǔ)SQL概述SQL(StructuredqueryLanguage,結(jié)構(gòu)化查詢語言),功能包括查詢、操縱、定義、控制。功能豐富、語言簡潔、使用靈活,倍受歡迎。1974年由Boyce,Chamberlin提出,1975年在IBM公司的SystemR上首次實(shí)現(xiàn)。原型稱為SEQUEL(StructuredEnglishQUEryLanguage).1986年ANSISQL-86標(biāo)準(zhǔn),是第一個(gè)SQL標(biāo)準(zhǔn)。1987年成為國際標(biāo)準(zhǔn)。1992年SQL-92標(biāo)準(zhǔn)(簡稱SQL2)。2021/8/611999年SQL-99標(biāo)準(zhǔn)(簡稱SQL3
2、)。增加了對(duì)對(duì)象關(guān)系模型的支持。目前僅部分實(shí)現(xiàn)。最流行的國際標(biāo)準(zhǔn)數(shù)據(jù)庫語言。主要特點(diǎn):SQL是非結(jié)構(gòu)化的語言,使用SQL查詢數(shù)據(jù)庫時(shí),只需要告訴它做什么而不用告訴它如何去做。SQL本身不提供任何程序流程控制結(jié)構(gòu),而是通過PL/SQL提供SQL語言的過程化功能SQL提供相對(duì)固定的數(shù)據(jù)類型,一般不需要擴(kuò)展SQL本身十分靈活,方便易學(xué)。2021/8/62標(biāo)準(zhǔn)SQL只包含9種語句:數(shù)據(jù)查詢:select數(shù)據(jù)定義:create,drop,alter數(shù)據(jù)操縱:insert,update,delete數(shù)據(jù)控制:grant,revoke2021/8/63
3、數(shù)據(jù)定義語言(DDL),用于定義數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操縱語言(DML),用于檢索和修改數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)控制語言(DCL),用于規(guī)定數(shù)據(jù)庫用戶的各種權(quán)限數(shù)據(jù)庫事務(wù)處理,用來保證數(shù)據(jù)庫的完整性SQL語言分類2021/8/64SQL語言分類數(shù)據(jù)定義語言(DDL):用于定義數(shù)據(jù)結(jié)構(gòu)能使用戶完成下列任務(wù)創(chuàng)建數(shù)據(jù)庫對(duì)象刪除數(shù)據(jù)庫對(duì)象更改數(shù)據(jù)庫對(duì)象2021/8/65常用的數(shù)據(jù)定義語言DDL語句包括:CreateTable:創(chuàng)建數(shù)據(jù)庫表CreateIndex:創(chuàng)建數(shù)據(jù)庫表的索引DropTable:刪除數(shù)據(jù)庫表DropIndex:刪除數(shù)據(jù)庫表的索引Truncate:刪
4、除表中所有行AlterTable:增加表列,重定義表列,更改存儲(chǔ)分配AlterTableADDCONSTRAINT:在已有的表上增加約束2021/8/66數(shù)據(jù)操縱語言(DML):允許用戶對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行Insert,Update,Delete和Select等操作常用DML語句包括:Insert:增加數(shù)據(jù)行到表Delete:從表中刪除數(shù)據(jù)行Update:更改表中數(shù)據(jù)Select:從表中或視圖中檢索數(shù)據(jù)行2021/8/67數(shù)據(jù)控制語言(DCL):用于規(guī)定數(shù)據(jù)庫用戶的各種權(quán)限常用的數(shù)據(jù)控制語句包括:GRANT:將權(quán)限或角色授予用戶或其它角色
5、REVOKE:從用戶或數(shù)據(jù)庫角色回收權(quán)限SetRole:禁止或允許一個(gè)角色2021/8/68數(shù)據(jù)庫事務(wù)控制:用來保證數(shù)據(jù)庫的完整性常用的事務(wù)處理語句包括:COMMITWORK:把當(dāng)前事務(wù)所作的更改永久化(寫入磁盤)ROLLBACK:作廢上次提交以來的所有更改2021/8/69事務(wù):指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作,而這些邏輯工作單元需要具有原子性,一致性,隔離性和持久性四個(gè)屬性。2021/8/610SQL語句的基本語法基本語法如下:每條SQL語句必須以分號(hào)結(jié)束每條SQL語句可以單獨(dú)寫成一行,也可以分成若干行SQL語句對(duì)大小寫不敏感,
6、對(duì)于SQL語句的關(guān)鍵字(如Insert等),表名,列名等,可以大小寫混合;但對(duì)列的內(nèi)容則是大小寫敏感的。2021/8/611對(duì)象命名約定SQLServer用三段式名字標(biāo)識(shí)對(duì)象:<數(shù)據(jù)庫名>.<所有者名>.<對(duì)象名>前兩者可以省略,系統(tǒng)自動(dòng)有一個(gè)默認(rèn)值。數(shù)據(jù)庫名的默認(rèn)值是當(dāng)前數(shù)據(jù)庫,所有者名的默認(rèn)值是數(shù)據(jù)庫的所有者(dbo)例如:在pubs數(shù)據(jù)庫中的authors表的所有者是dbo,它可以在多個(gè)數(shù)據(jù)庫中按如下方法引用:pubs.dbo.authorsPubs.authors2021/8/612別名:使用別名的主要目的是增加select語句的
7、可讀性??墒褂萌缦抡Z句指派數(shù)據(jù)表的別名:數(shù)據(jù)表名稱as數(shù)據(jù)表別名2021/8/613例如:usesampleSelecte.員工編號(hào),e.員工姓名From員工數(shù)據(jù)表ase注意:如果為數(shù)據(jù)表指定了別名,則在相應(yīng)的T-SQL語句中,對(duì)該數(shù)據(jù)表的所有顯式引用都必須使用別名,而不能使用數(shù)據(jù)表名。例如:Select員工數(shù)據(jù)表.員工編號(hào),e.員工姓名From員工數(shù)據(jù)表ase2021/8/614SELECT語句數(shù)據(jù)檢索是數(shù)據(jù)庫中最頻繁執(zhí)行的活動(dòng)在SQL中,使用SELECT語句可以在需要的表單中檢索數(shù)據(jù)在進(jìn)行檢索之前,必須知道需要的數(shù)據(jù)存儲(chǔ)在哪里SELE
8、CT語句可以由多個(gè)查詢子句組成2021/8/615SELECT語句SELECT語句可用于檢索:全部的行和列全部的行和特定的列限定范圍的行與一組值匹配的行根據(jù)未知值檢索的行隱藏有重復(fù)值的行根據(jù)多