Web前端開發(fā)(中級)(上冊) 課件 第3、4章 SQL基本語法;索引、分區(qū)與視圖_第1頁
Web前端開發(fā)(中級)(上冊) 課件 第3、4章 SQL基本語法;索引、分區(qū)與視圖_第2頁
Web前端開發(fā)(中級)(上冊) 課件 第3、4章 SQL基本語法;索引、分區(qū)與視圖_第3頁
Web前端開發(fā)(中級)(上冊) 課件 第3、4章 SQL基本語法;索引、分區(qū)與視圖_第4頁
Web前端開發(fā)(中級)(上冊) 課件 第3、4章 SQL基本語法;索引、分區(qū)與視圖_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Web前端開發(fā)(中級)(上冊)SQL基本語法工業(yè)和信息化人才培養(yǎng)工程系列叢書1+X證書制度試點培訓(xùn)用書第三章01SQL語句簡介數(shù)據(jù)定義語句,定義了不同數(shù)據(jù)庫、表、列、索引等數(shù)據(jù)庫對象。常用的語句關(guān)鍵字包括CREATE、DROP、ALTER等。DDL(DataDefinitionLanguages)語句數(shù)據(jù)操縱語句,用于添加、刪除、更新和查詢數(shù)據(jù)庫記錄,并檢查數(shù)據(jù)完整性。常用的語句關(guān)鍵字包括INSERT、DELETE、UPDATE、SELECT等。DML(DataManipulationLanguages)語句數(shù)據(jù)控制語句,定義了數(shù)據(jù)庫、表、字段、用戶的訪問權(quán)限和安全級別。常用的語句關(guān)鍵字包括GRANT、REVOKE等。DCL(DataControlLanguages)語句SQL語句簡介02MySQL基本數(shù)據(jù)類型整數(shù)類型的劃分是根據(jù)存儲空間的大小和表示范圍的大小來劃分的,具體如下表所示。MySQL基本數(shù)據(jù)類型數(shù)值類型CHAR與VARCHARBINARY與VARBINARYTEXT與BLOBENUMSETMySQL基本數(shù)據(jù)類型字符串類型MySQL提供了多種日期和時間類型,包括YEAR、TIME、DATE、DATETIME、TIMESTAMP,以供用戶使用。MySQL基本數(shù)據(jù)類型日期和時間類型03數(shù)據(jù)插入INSERT語句就是插入語句,語法格式如下:INSERT INTO表名VALUES (值1,值2,…);此時,VALUES后面的值的排列要與該表中存儲的列名排列一致。也可以指定要插入數(shù)據(jù)的列,語法格式如下:INSERT INTO表名(列1,列2,)VALUES (值1,值2,);此時,VALUES后面的值的排列要與INTO子句后面的列名排列一致。數(shù)據(jù)插入04數(shù)據(jù)修改表里的記錄值可以通過UPDATE命令進行修改,語法格式如下:UPDATE表名SET列名新值WHERE列名一某值;例如,將emp表中ename值為“ssla”的記錄的sal值從2000修改為4000,命令執(zhí)行結(jié)果如下圖所示。數(shù)據(jù)修改05數(shù)據(jù)刪除如果記錄不再需要,則可以用DELETE命令進行刪除,語法格式如下:DELETE. FROM表名WHERE列名值;例如,將emp表中ename值為llis的記錄全部刪除,命令執(zhí)行結(jié)果如下圖所示。數(shù)據(jù)刪除06數(shù)據(jù)查詢最簡單的查詢方式是將記錄全部選出,可以使用“*”表示要查詢所有字段,如下圖所示。數(shù)據(jù)查詢常規(guī)查詢在大多數(shù)情況下,用戶并不需要查詢表內(nèi)所有記錄,而是需要根據(jù)特定條件來查詢部分?jǐn)?shù)據(jù),此時,可以用WHERE關(guān)鍵字實現(xiàn)條件查詢。條件查詢的語法格式如下:SELECT字段FROM表名WHERE條件;條件查詢數(shù)據(jù)查詢將emp表和dept表中的部門編號的集合顯示出來,命令運行結(jié)果如下圖所示。數(shù)據(jù)查詢聯(lián)合查詢emp表中的deptno值有重復(fù),使用DISTINCT進行不重復(fù)查詢,命令運行結(jié)果如下圖所示。數(shù)據(jù)查詢不重復(fù)查詢模糊查詢在MySQL中,有時需要使用模糊查詢,這時就需要用到LIKE關(guān)鍵字了,語法格式如下:SELECT字段FROM表名WHERE字段LIKE值;由于這里的值是模糊的,因此需要用到通配符,有以下兩種匹配方式:“%”的使用;“_”的使用。數(shù)據(jù)查詢在查詢時,查詢出來的結(jié)果集中記錄個數(shù)可能有很多,通常我們會使用ORDERBY關(guān)鍵字來進行排序,語法格式如下:排序查詢數(shù)據(jù)查詢限制查詢在使用查詢語句時,經(jīng)常要返回前幾條或者中間某幾條數(shù)據(jù),這時就需要使用LIMIT關(guān)鍵字進行限制查詢,語法格式如下:SELECT字段LIMIT起始偏移量,行數(shù);數(shù)據(jù)查詢在很多情況下,用戶需要進行一些匯總操作,如統(tǒng)計地區(qū)數(shù)、商品數(shù)等,這時就要用到SQL的聚合操作了。聚合語句的語法格式如下:聚合數(shù)據(jù)查詢連接內(nèi)連接:在使用數(shù)據(jù)庫查詢語句時,單表的查詢有時不能滿足項目的業(yè)務(wù)需求,在項目開發(fā)過程中,有很多需求都要涉及多表的連接查詢。左連接與右連接:左連接是指以左邊的表的數(shù)據(jù)為基準(zhǔn),去匹配右邊的表的數(shù)據(jù)。如果匹配到相應(yīng)數(shù)據(jù),則顯示匹配結(jié)果;如果匹配不到相應(yīng)數(shù)據(jù),則顯示為NULL.左連接的關(guān)鍵字是LEFTJOIN。數(shù)據(jù)查詢07事務(wù)假設(shè)這樣一個場景:我們?nèi)ベI東西,一般都是先付錢,賣家收到錢再發(fā)貨。將這個場景用數(shù)據(jù)庫來表示就是,第一步,從用戶的賬戶中減去一部分金額;第二步,把減去的金額添加到商家的賬戶上。但是萬一遇到特殊的情況,我們已經(jīng)成功完成了第一步,從用戶的賬戶中扣除了錢,這時突然停電,系統(tǒng)出現(xiàn)了故障,沒有完成第二步。這就產(chǎn)生了一個問題:用戶賬戶的錢被扣除了,商家賬戶中卻沒有增加扣除的錢。事務(wù)事務(wù)概述3.隔離性(lsolation)4.持久性(Durability)數(shù)據(jù)庫的事務(wù)具有四大特性-ACID。1.原子性(Atomicity)2.一致性(Consistency)事務(wù)事務(wù)的四大特性事務(wù)提交我們?nèi)匀换氐奖竟?jié)開始提到的場景,用戶去商家買東西,從用戶的賬戶中扣除錢后發(fā)生了系統(tǒng)故障,導(dǎo)致扣錢成功但商家未收到錢。采用事務(wù)的解決辦法分為兩步:第一步,執(zhí)行扣除錢和增加錢操作;第二步,將執(zhí)行結(jié)果“提交”給數(shù)據(jù)庫。事務(wù)與事務(wù)提交結(jié)合使用的,是事務(wù)的回滾操作。當(dāng)事務(wù)中多條SQL語句在執(zhí)行過程中由于系統(tǒng)故障等原因,導(dǎo)致部分語句執(zhí)行不成功時,事務(wù)中已執(zhí)行成功的語句結(jié)果應(yīng)該回退至未執(zhí)行狀態(tài),這個操作稱為事務(wù)回滾。事務(wù)回滾事務(wù)08本章小結(jié)本章主要介紹了SQL基本語法,從SQL語句的使用范圍和類型方面引入,介紹了數(shù)據(jù)的“增刪改查”四種操作語句的語法結(jié)構(gòu)與實際使用方法,其中,數(shù)據(jù)查詢語句除了介紹常規(guī)查詢。還介紹了多種特定條件下的查詢方式,豐富了查詢應(yīng)用場景。除此之外,本章還介紹了數(shù)據(jù)庫中事務(wù)的概念與四大特性,以及事務(wù)的使用方法。本章小結(jié)Web前端開發(fā)(中級)(上冊)索引、分區(qū)與視圖工業(yè)和信息化人才培養(yǎng)工程系列叢書1+X證書制度試點培訓(xùn)用書第四章01數(shù)據(jù)庫索引數(shù)據(jù)庫的索引可以劃分為幾種類型,如下表所示。數(shù)據(jù)庫索引索引概述BTree索引與Hash索引BTree索引BTree索引與Hash索引:MySQL的BTree索引是建立在n叉樹(BTree)之上的一種索引方式。Hash索引:MySQL的哈希索引(Hash索引)是基于哈希表實現(xiàn)的,只有精確匹配索引列的查詢才有效,對于每一行數(shù)據(jù),存儲引擎都會對所有的索引列計算一個哈希碼(Hashcode)。數(shù)據(jù)庫索引索引的建立和使用索引的建立有多種時機,可以在創(chuàng)建表的同時進行創(chuàng)建,也可以在創(chuàng)建表之后進行添加。在創(chuàng)建表的同時創(chuàng)建索引的語法格式如下:數(shù)據(jù)庫索引創(chuàng)建唯一索引不僅可以提高訪問速度,還可以避免數(shù)據(jù)出現(xiàn)重復(fù)。唯一索引可以有多個但索引列的值必須唯一,同時索引列的值允許有空值。如果能確定某個數(shù)據(jù)列只包含彼此各不相同的值,則在為這個數(shù)據(jù)列創(chuàng)建索引時應(yīng)該使用關(guān)鍵字UNIQUE,并將其定義為唯一索引。數(shù)據(jù)庫索引唯一索引和聯(lián)合索引使用方法:在SELECT語句前加上EXPLAIN,如下圖所示。數(shù)據(jù)庫索引EXPLAIN語句執(zhí)行結(jié)果如下圖所示。數(shù)據(jù)庫索引EXPLAIN語句分析案例MySQL優(yōu)化MySQL的優(yōu)化大體可以分為3部分,即索引的優(yōu)化、SQL語句的優(yōu)化和表的優(yōu)化。數(shù)據(jù)庫索引02數(shù)據(jù)庫分區(qū)MySQL分區(qū)的優(yōu)點和缺點如下表所示。數(shù)據(jù)庫分區(qū)分區(qū)概述我們來看以下示例,創(chuàng)建一個QQ空間的日志表,建表語句如下:數(shù)據(jù)庫分區(qū)MySQL分區(qū)的依據(jù)01020304RANGE分區(qū)HASH分區(qū)LIST分區(qū)KEY分區(qū)數(shù)據(jù)庫分區(qū)分區(qū)類型創(chuàng)建test表,并以日期作為分區(qū)列。建表語句如下:數(shù)據(jù)庫分區(qū)RANGE分區(qū)LIST分區(qū)LIST分區(qū)類似于RANGE分區(qū),區(qū)別在于LIST分區(qū)是基于列值匹配一個離散值集合中的某個值來進行分區(qū)。LIST分區(qū)通過使用“PARTITIONBYLIST(expr)”來實現(xiàn),其中“expr”是某列值或基于某列值返回一個整數(shù)值的表達式,然后通過“VALUESIN(valuelist)”的方式來定義每個分區(qū),其中“valuelist”是一個通過逗號分隔的整數(shù)列表。使用LIST分區(qū)的注意事項如下所述。數(shù)據(jù)庫分區(qū)HASH分區(qū)HASH分區(qū)是基于用戶定義的表達式的返回值進行選擇的分區(qū),該表達式使用將要插入到表中的這些行的列值進行計算。這個函數(shù)可以包含MySQL中有效的、產(chǎn)生非負(fù)整數(shù)值的任何表達式。數(shù)據(jù)庫分區(qū)KEY分區(qū)允許多列,而HASH分區(qū)只允許一列。如果在有主鍵或唯一鍵的情況下,KEY分區(qū)列可不指定,默認(rèn)為主鍵或唯一鍵,如果沒有主鍵或唯一鍵,則必須顯性指定列。KEY分區(qū)對象必須為列,而不能是基于列的表達式。KEY分區(qū)和HASH分區(qū)的算法不一樣

。數(shù)據(jù)庫分區(qū)KEY分區(qū)03數(shù)據(jù)庫視圖視圖是從一個或幾個基本表(或視圖)中導(dǎo)出的虛擬的表。在系統(tǒng)的數(shù)據(jù)字典中僅存放視圖的定義,不存放視圖對應(yīng)的數(shù)據(jù)。視圖是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查看表中數(shù)據(jù)的另外一種方式??梢詫⒁晥D看作一個移動的窗口,通過它可以看到感興趣的數(shù)據(jù)。視圖概述數(shù)據(jù)庫視圖創(chuàng)建視圖在數(shù)據(jù)庫中,視圖的創(chuàng)建語句的語法格式如下:數(shù)據(jù)庫視圖修改視圖修改視圖可以使用ALTER語句或CREATEORREPLACE語句。ALTER語句的語法格式如下:數(shù)據(jù)庫視圖刪除視圖可以使用DROP語句,用戶可以一次刪除一個或多個視圖,語法格式如下:刪除視圖數(shù)據(jù)庫視圖查詢視圖包括查詢數(shù)據(jù)庫中包含哪些視圖,以及查詢某一視圖中包含哪些數(shù)據(jù)內(nèi)容等。其中,查詢視圖中包含哪些數(shù)據(jù)的方式與查詢表數(shù)據(jù)一樣。可以使用SELECT語句,這里不再贅述,只簡要介紹查詢數(shù)據(jù)庫中包含哪些視

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論