版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用項(xiàng)目5數(shù)據(jù)的簡(jiǎn)單查詢
粵文創(chuàng)項(xiàng)目中包含各類信息,如地區(qū)信息、工作人員信息、民俗信息和名人信息等,其中地區(qū)表中存儲(chǔ)的是地區(qū)編號(hào)、中文名、外文名、別名、地理位置和面積等基本信息。實(shí)際上,用戶只對(duì)部分信息感興趣,在這種情況下,就需要在原有的表中查詢指定的數(shù)據(jù)列信息,這就是單個(gè)數(shù)據(jù)表的簡(jiǎn)單查詢。工作情境目錄01查詢數(shù)據(jù)02鞏固與小結(jié)03任務(wù)訓(xùn)練01查詢數(shù)據(jù)一、查詢數(shù)據(jù)任務(wù)分析使用數(shù)據(jù)庫(kù)和數(shù)據(jù)表的主要目的就是存儲(chǔ)數(shù)據(jù),以便在需要時(shí)對(duì)數(shù)據(jù)進(jìn)行檢索、統(tǒng)計(jì)和輸出。在MySQL中,可以使用SELECT語(yǔ)句來(lái)實(shí)現(xiàn)數(shù)據(jù)查詢,按照用戶要求設(shè)置不同的查詢條件,對(duì)數(shù)據(jù)進(jìn)行篩選,從數(shù)據(jù)庫(kù)中檢索待定信息,并將查詢結(jié)果以表格形式返回。任務(wù)編號(hào)任務(wù)內(nèi)容任務(wù)5-1統(tǒng)計(jì)地區(qū)表中面積超過(guò)5000且低于10000的地區(qū)信息任務(wù)5-2查詢工作人員表中姓“李”的員工信息任務(wù)5-3查詢工作人員表中工號(hào)為1、3、5的員工信息拓展任務(wù)5-1使用聚合函數(shù)查詢數(shù)據(jù)任務(wù)清單如下。一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備除了存儲(chǔ)數(shù)據(jù),數(shù)據(jù)庫(kù)還可以用來(lái)查詢和管理數(shù)據(jù)。按照需求查詢數(shù)據(jù)是數(shù)據(jù)庫(kù)的重要功能之一。SELECT語(yǔ)句可以用于查詢數(shù)據(jù),可以從一個(gè)表或多個(gè)表中選擇特定的行和列,生成一個(gè)臨時(shí)表。常用的SELECT語(yǔ)句的語(yǔ)法格式如下:需要說(shuō)明以下幾點(diǎn)。字段列表:用來(lái)給出應(yīng)該返回哪些數(shù)據(jù),可以是多個(gè)列名或表達(dá)式。列名和列名之間用逗號(hào)分隔,表達(dá)式可以是列名、函數(shù)或常數(shù)的列表。WHERE子句:可選項(xiàng),如果選擇該項(xiàng),那么限定查詢數(shù)據(jù)必須滿足該查詢條件(在多表查詢中將具體講解)。SELECT語(yǔ)句:除了用于數(shù)據(jù)查詢,還可以用來(lái)為局部變量賦值或調(diào)用一個(gè)函數(shù)。提示:MySQL中的SQL語(yǔ)句不區(qū)分大小寫,所以SELECT、select與Select是等價(jià)的,執(zhí)行結(jié)果是一樣的,但代碼的可讀性不一樣。SELECT
<字段列表>FROM<數(shù)據(jù)表名稱或視圖名稱>
[WHERE<條件表達(dá)式>]一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備1、查詢表中的所有列在SELECT語(yǔ)句中,可以使用“*”查找表中所有字段的數(shù)據(jù),基本語(yǔ)法格式如下:SELECT*FROM表名;2、查詢表中的指定列在SELECT語(yǔ)句中可以指定要查詢的列,各個(gè)列名之間通過(guò)逗號(hào)分隔,基本語(yǔ)法格式如下:SELECT<字段列表>FROM<表名>;3、查詢表中的指定列如果在查詢結(jié)果時(shí)希望使用自己定義的列標(biāo)題,那么可以使用AS子句來(lái)更改。一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備4、限制查詢結(jié)果返回記錄的行數(shù)如果在查詢時(shí)只希望看到返回結(jié)果中的部分記錄行,那么可以使用LIMIT子句來(lái)限定。其基本語(yǔ)法格式如下:或者:LIMIT行數(shù)說(shuō)明:偏移量和行數(shù)都必須是非負(fù)的整數(shù);起始行的偏移量是指返回結(jié)果的第一行記錄在數(shù)據(jù)表中的絕對(duì)位置,數(shù)據(jù)表初始記錄行的偏移量為0,返回記錄的行數(shù)是指返回多少行記錄。例如,LIMIT4表示返回SELECT語(yǔ)句結(jié)果集中最前面的4行,而LIMIT
2,4則表示從第3行記錄開(kāi)始共返回4行。LIMIT起始行的偏移量,返回的記錄行數(shù)一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備6、使用WHERE子句限制查詢條件
WHERE子句用來(lái)限制查詢結(jié)果的數(shù)據(jù)行,WHERE后面是條件表達(dá)式,查詢結(jié)果必須是滿足條件表達(dá)式的記錄行。條件表達(dá)式通常由一個(gè)或多個(gè)邏輯表達(dá)式組成,而邏輯表達(dá)式通常會(huì)涉及比較運(yùn)算符、邏輯運(yùn)算符和模式匹配等。1)比較運(yùn)算符比較運(yùn)算符用于比較兩個(gè)表達(dá)式的值,運(yùn)算結(jié)果為邏輯值,可以為1(真)、0(假)或NULL(不確定)。MySQL支持的比較運(yùn)算符如表5-1所示。SELECTDISTINCTfkTitleFROMuser5、消除查詢結(jié)果中的重復(fù)行將DISTINCT關(guān)鍵字寫在SELECT字段列表所有列名的前面,可以消除DISTINCT關(guān)鍵字后面那些列值中的重復(fù)行。輸入的SQL語(yǔ)句如下所示:SELECTDISTINCT<字段列表>FROM<表名>;一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備1)比較運(yùn)算符運(yùn)算符含義=等于>大于<小于>=大于或等于<=小于或等于<>、!=不等于<=>相等或都等于空表5-1MySQL支持的比較運(yùn)算符運(yùn)用比較運(yùn)算符語(yǔ)句的基本語(yǔ)法格式如下:需要說(shuō)明以下幾點(diǎn)。表達(dá)式是除TEXT和BLOB類型外的表達(dá)式。當(dāng)兩個(gè)表達(dá)式的值均不為NULL時(shí),除了“<=>”運(yùn)算符,其他比較運(yùn)算符返回邏輯值TRUE(真)或FALSE(假);而當(dāng)兩個(gè)表達(dá)式的值中有一個(gè)為NULL或都為NULL時(shí),將返回UNKOWN。表達(dá)式比較運(yùn)算符表達(dá)式一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備
2)邏輯運(yùn)算符在MySQL中,可以將多個(gè)判定運(yùn)算結(jié)果通過(guò)邏輯運(yùn)算符(AND、OR、XOR和NOT)組成更復(fù)雜的查詢條件。邏輯運(yùn)算符可以用于對(duì)某個(gè)條件進(jìn)行測(cè)試,運(yùn)算結(jié)果為真或假。MySQL提供的邏輯運(yùn)算符如表5-2所示。表5-2MySQL提供的邏輯運(yùn)算符運(yùn)算符表達(dá)式功能ANDAANDB當(dāng)表達(dá)式A和B的值都為真時(shí),整個(gè)表達(dá)式的結(jié)果為真ORAORB當(dāng)表達(dá)式A或B的值為真時(shí),整個(gè)表達(dá)式的結(jié)果為真NOTNOTA如果表達(dá)式A的值為真,那么整個(gè)表達(dá)式的結(jié)果為假如果表達(dá)式A的值為假時(shí),那么整個(gè)表達(dá)式的結(jié)果為真INAIN(a1,a2,a3,...)如果A的值與集合中的任意值相等,那么返回真BETWEENCBETWEENAANDB如果C的值在A和B之間,那么返回真(包含與兩端值相等的情況)一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備3)模式匹配模式匹配主要用于模糊查詢。當(dāng)無(wú)法給出精確的查詢條件,并且給出的只是某些列值的一部分時(shí),查詢不要求與列值完全相等,稱為模糊查詢。例如,要查找工作人員表中姓張的員工的相關(guān)信息。模式匹配會(huì)使用LIKE運(yùn)算符。LIKE運(yùn)算符用于指出一個(gè)字符串與指定字符串是否匹配,需要與通配符一起使用。常用的通配符有“_”和“%”,“%”代表0個(gè)或多個(gè)字符,“_”代表單個(gè)字符。模式匹配的基本語(yǔ)法格式如下:表達(dá)式[NOT]LIKE表達(dá)式一、查詢數(shù)據(jù)知識(shí)儲(chǔ)備4)空值比較空值表示未知的不確定的值,不是空格也不是空字符串。當(dāng)需要判定一個(gè)表達(dá)式的值是否為空值時(shí),可以使用ISNULL關(guān)鍵字。其基本語(yǔ)法格式如下:當(dāng)不使用NOT時(shí),若表達(dá)式的值為空值,則返回TRUE,否則返回FALSE;當(dāng)使用NOT時(shí),結(jié)果剛好相反。表達(dá)式IS[NOT]NULL一、查詢數(shù)據(jù)任務(wù)實(shí)施任務(wù)5-1統(tǒng)計(jì)地區(qū)表中面積超過(guò)5000且低于10000元的地區(qū)信息。輸入的SQL語(yǔ)句如下所示:運(yùn)行結(jié)果如圖5-13所示。SELECT*FROMareawhereareaBETWEEN5000AND10000;圖5-13任務(wù)5-1的運(yùn)行結(jié)果一、查詢數(shù)據(jù)任務(wù)實(shí)施任務(wù)5-2查詢工作人員表中姓李的員工信息。輸入的SQL語(yǔ)句如下所示:運(yùn)行結(jié)果如圖5-14所示。SELECT*FROMuserWHEREuserNameLIKE'李%';圖5-14任務(wù)5-2的運(yùn)行結(jié)果一、查詢數(shù)據(jù)任務(wù)實(shí)施任務(wù)5-3查詢工作人員表中工號(hào)為1、3、5的員工信息。輸入的SQL語(yǔ)句如下所示:運(yùn)行結(jié)果如圖5-15所示。SELECT*FROMuserWHEREuserIdin(1,3,5);圖5-15任務(wù)5-3的運(yùn)行結(jié)果一、查詢數(shù)據(jù)任務(wù)實(shí)施拓展任務(wù)5-1使用聚合函數(shù)查詢數(shù)據(jù)。函數(shù)是完成特定功能的一組SQL語(yǔ)句的集合。在查詢數(shù)據(jù)時(shí)經(jīng)常使用函數(shù)來(lái)實(shí)現(xiàn)一些復(fù)雜運(yùn)算。MySQL提供了豐富的內(nèi)置函數(shù),如字符串函數(shù)、日期和時(shí)間函數(shù)、聚合函數(shù)等。其中,聚合函數(shù)也被稱為統(tǒng)計(jì)函數(shù),是一組值進(jìn)行計(jì)算并返回一個(gè)數(shù)值。表
5-3
列舉了常用的聚合函數(shù)。函數(shù)功能COUNT(*)或COUNT(表達(dá)式)返回一組數(shù)據(jù)的總行數(shù)。COUNT(*)返回總行數(shù),包括包含空值的行;COUNT(表達(dá)式)將去掉表達(dá)式的值為空的那些行MAX(表達(dá)式)返回一組數(shù)據(jù)的最大值MIN(表達(dá)式)返回一組數(shù)據(jù)的最小值SUM(表達(dá)式)返回一組數(shù)據(jù)的和AVG(表達(dá)式)返回一組數(shù)據(jù)的平均值表5-3常用的聚合函數(shù)一、查詢數(shù)據(jù)任務(wù)實(shí)施拓展任務(wù)5-1使用聚合函數(shù)查詢數(shù)據(jù)。(1)統(tǒng)計(jì)地區(qū)表中面積在10000000以上的地區(qū)的數(shù)目:(2)統(tǒng)計(jì)地區(qū)表中面積最大的地區(qū):(3)統(tǒng)計(jì)地區(qū)表中所有地區(qū)的面積之和:SELECTCOUNT(areaNumber)AS'人口在10000000以上的地區(qū)數(shù)目'FROMareawherepopulationSize>=10000000;SELECTMAX(area)AS'面積最大的地區(qū)'FROMareaSELECTSUM(area)AS'所有地區(qū)的面積之和'FROMarea04鞏固與小結(jié)鞏固與小結(jié)任務(wù)分析(1)使用SELECT...FROM語(yǔ)句查詢指定列,還可以為查詢結(jié)果定制列名。(2)使用WHERE子句過(guò)濾滿足條件的行。(3)使用LIMIT可以查詢指定的行記錄。(4)使用LIKE進(jìn)行模糊查詢。(5)使用邏輯運(yùn)算符與比較運(yùn)算符進(jìn)行查詢。05任務(wù)訓(xùn)練任務(wù)訓(xùn)練任務(wù)分析在點(diǎn)餐系統(tǒng)數(shù)據(jù)庫(kù)gkeodm中實(shí)現(xiàn)數(shù)據(jù)表簡(jiǎn)單查詢。(1)查詢用戶表gkeodm_user,顯示所有數(shù)據(jù)。(2)查詢用戶表,顯示userId、userName、userType字段,并且分別使用別名用戶編號(hào)、用戶名、用戶類型來(lái)表示。(3)查詢用戶表,顯示所有姓郭的用戶的信息。(4)查詢菜品表,顯示“魚(yú)香肉絲”菜品的基本信息。(5)查詢訂單表,顯示創(chuàng)建人編號(hào)大于5且小于10的所有訂單信息。(6)查詢菜品表,顯示編號(hào)為1、3、5的菜品的信息。感謝您的觀看數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用項(xiàng)目6數(shù)據(jù)的增加、刪除和修改操作目錄01增加數(shù)據(jù)03刪除數(shù)據(jù)02修改數(shù)據(jù)01增加數(shù)據(jù)一.任務(wù)分析,添加3條記錄地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼
粵文創(chuàng)數(shù)據(jù)庫(kù)已經(jīng)建立,但表是空的(只有標(biāo)題。標(biāo)題不是記錄)。我們要做的,就是往“地區(qū)表”area內(nèi)填入記錄。area表1.1、插入記錄的語(yǔ)句格式INSERT表名(列1,列2,列3,…)VALUES(列1值,列2值,列3值,…);示例6-1:往“學(xué)生”表中,添加一條記錄往“學(xué)生”表中,加入編號(hào):1姓名:趙曉明性別:男的記錄編號(hào)姓名性別1趙曉明男編號(hào)姓名性別學(xué)生表示例6-1:往“學(xué)生”表中,添加一條記錄——命令提示往“學(xué)生表”中,加入編號(hào):1姓名:趙曉明性別:男的記錄編號(hào)姓名性別1趙曉明男編號(hào)姓名性別INSERT表名(列1,列2,列3,…)VALUES(列1值,列2值,列3值,…);1.2、插入多條記錄的語(yǔ)句格式INSERT表名(列1,列2,列3,…)VALUES(列1值,列2值,列3值,…)
,(列1值,列2值,列3值,…)
, ……(列1值,列2值,列3值,…)
;示例6-2:往“學(xué)生”表中,添加多條記錄往“學(xué)生”表中,加入編號(hào):2姓名:張宏
性別:男編號(hào):3姓名:陳強(qiáng)
性別:男的記錄編號(hào)姓名性別1趙曉明男2張宏男3陳強(qiáng)男編號(hào)姓名性別1趙曉明男學(xué)生表示例6-2:往“學(xué)生”表中,添加多條記錄——命令提示往“學(xué)生”表中,加入編號(hào):2姓名:張宏
性別:男編號(hào):3姓名:陳強(qiáng)
性別:男的記錄編號(hào)姓名性別1趙曉明男2張宏男3陳強(qiáng)男編號(hào)姓名性別1趙曉明男INSERT表名(列1,列2,列3,…)VALUES(列1值,列2值,列3值,…)
,(列1值,列2值,列3值,…)
;1.3、插入一條記錄的縮略格式INSERT表名VALUES
(列1值,列2值,列3值,…)
;省略了所有列標(biāo)題示例6-3:在地區(qū)表“area”中,添加一條記錄地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵Aarea表示例6-3:分析地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵AINSERT表名(列1,列2,列3,…)
VALUES(列1值,列2值,列3值,…);9個(gè)字段的書(shū)寫,費(fèi)時(shí)費(fèi)力;省略不寫,不會(huì)誤解。所以創(chuàng)新出省略格式。1.4、插入多條記錄的縮略格式INSERT表名VALUES(列1值,列2值,列3值,…)
,(列1值,列2值,列3值,…)
, ……(列1值,列2值,列3值,…)
;二.任務(wù):
給“area”表插入多條記錄地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵Carea表INSERT表名(列1,列2,列3,…)VALUES(列1值,列2值,列3值,…)
,(列1值,列2值,列3值,…)
,(列1值,列2值,列3值,…)
;INSERT表名VALUES(列1值,列2值,列3值,…),(列1值,列2值,列3值,…),(列1值,列2值,列3值,…);方法1方法2三.任務(wù)拓展3.1插入含有空字段的記錄;3.2通過(guò)復(fù)制現(xiàn)有的表,生成新表,同時(shí)獲取記錄;3.3從其他表中,獲取需要的記錄;3.4使用
replace語(yǔ)句,得到一條記錄。3.1、插入含有空字段的記錄編號(hào)姓名性別1趙曉明男2張宏編號(hào)姓名性別1趙曉明男暫時(shí)沒(méi)有得到張宏的性別,如何填寫這條記錄?學(xué)生1表編號(hào)姓名性別1趙曉明男2張宏編號(hào)姓名性別1趙曉明男INSERT學(xué)生1VALUES
(2,'張宏',null);3.1、插入含有空字段的記錄——命令3.2、用一張帶數(shù)據(jù)的表創(chuàng)建新表,同時(shí)繼承它的部分?jǐn)?shù)據(jù)編號(hào)姓名性別成績(jī)1趙曉明男982張宏男883陳強(qiáng)男79編號(hào)姓名成績(jī)1趙曉明982張宏883陳強(qiáng)79班級(jí)表學(xué)生2表3.2、用一張帶數(shù)據(jù)的表創(chuàng)建新表,同時(shí)繼承它的部分?jǐn)?shù)據(jù)——命令編號(hào)姓名性別成績(jī)1趙曉明男982張宏男883陳強(qiáng)男79編號(hào)姓名成績(jī)1趙曉明982張宏883陳強(qiáng)79CREATETABLE
學(xué)生2SELECT
編號(hào),姓名,性別FROM
班級(jí);3.3、將一個(gè)表內(nèi)的記錄插入另一個(gè)表中名單表姓名性別趙曉明男張宏男陳強(qiáng)男姓名性別成績(jī)黃奕男78劉偉男84羅伊女86姓名性別趙曉明男張宏男陳強(qiáng)男黃奕男劉偉男羅伊女班級(jí)1表名單表3.3、將一個(gè)表內(nèi)的記錄插入另一個(gè)表中——命令名單表姓名性別趙曉明男張宏男陳強(qiáng)男姓名性別成績(jī)黃奕男78劉偉男84羅伊女86姓名性別趙曉明男張宏男陳強(qiáng)男黃奕男劉偉男羅伊女班級(jí)1表名單表INSERT名單SELECT姓名,性別FROM班級(jí)1;3.4、使用
REPLACE
語(yǔ)句插入一條記錄area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵C地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵C5860汕頭Shantou鮀城廣東東部2199.0055020000754粵D3.4、使用
REPLACE
語(yǔ)句插入一條記錄——命令area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵C地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵C5860汕頭Shantou鮀城廣東東部2199.0055020000754粵DREPLACEareaSET
地區(qū)編號(hào)=5860,中文名='汕頭',外文名='Shantou',別名='城',地理位置='廣東東部',面積=2199.00,人口數(shù)量=5502000,電話區(qū)號(hào)='0754',車牌代碼='粵D';3.4、使用
REPLACE
語(yǔ)句的風(fēng)險(xiǎn)提示REPLACEareaSET
地區(qū)編號(hào)=5860,中文名='汕頭',外文名='Shantou',別名='城',地理位置='廣東東部',面積=2199.00,人口數(shù)量=5502000,電話區(qū)號(hào)='0754',車牌代碼='粵D';提醒:1.如果area表里面沒(méi)有主鍵為“地區(qū)編號(hào)”是5860的記錄,那么replace語(yǔ)句將插入一條記錄。2.如果area表里面已經(jīng)有主鍵“地區(qū)編號(hào)”為5860的記錄,那么replace語(yǔ)句就會(huì)覆蓋原有的記錄。四、插入記錄的5種語(yǔ)句匯總insert
表名(列1,列2,...)values
(列1值,列2值,...);insert表名
values(列1值,列2值,...);insert表名
select
列1名,列2名,...from
某表表名createtable
新表名
select
列1名,列2名,...from
某表表名replace
表名
set
列1名=值1,列2名=值2,...02修改數(shù)據(jù)一.任務(wù)分析,修改別名area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou羊城廣東中南部7434.4018676600020粵A修改別名二.使用UPDATE...SET修改數(shù)據(jù)UPDATE表名SET
要修改的字段=值,…WHERE條件;2.1、示例6-4,修改姓名編號(hào)姓名性別1趙小明男編號(hào)姓名性別1趙曉明男學(xué)生2表UPDATE學(xué)生2SET姓名=xxx
WHERE姓名=aaa;編號(hào)姓名性別1趙小明男編號(hào)姓名性別1趙曉明男學(xué)生2表2.1、示例6-4,語(yǔ)句格式三.使用REPLACE...SET修改數(shù)據(jù)REPLACE表名SET字段1=值1,字段2=值2,…;3.1、示例6-5,修改性別編號(hào)姓名性別1趙小明女編號(hào)姓名性別1趙小明男學(xué)生2表REPLACE表SET
編號(hào)=hao,姓名=ming,性別=bie;3.1、示例6-5,語(yǔ)句格式編號(hào)姓名性別1趙小明女編號(hào)姓名性別1趙小明男學(xué)生2表四.使用REPLACE...VALUES修改數(shù)據(jù)REPLACE表名VALUES
(字段1的值1,字段2的值2,…);提醒:
省略了等號(hào),就需要依照字段的順序書(shū)寫值4.1、示例6-6,修改性別編號(hào)姓名性別1趙小明女2張宏男學(xué)生2表編號(hào)姓名性別1趙小明女2張宏女REPLACE表VALUES
(hao,ming,bie);4.1、示例6-6,語(yǔ)句格式編號(hào)姓名性別1趙小明女2張宏男學(xué)生2表編號(hào)姓名性別1趙小明女2張宏女五.任務(wù),修改別名area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou羊城廣東中南部7434.4018676600020粵AREPLACE表名
SET地區(qū)編號(hào)=hao,中文名=ming,...;REPLACE表名VALUES
(字段1的值1,字段2的值2,…);UPDATE表名SET
要修改的字段=值,…WHERE條件;方法1方法2方法3全部字段六.修改記錄的幾種語(yǔ)句REPLACE表名
SET地區(qū)編號(hào)=hao,中文名=ming,...;REPLACE表名VALUES
(字段1的值1,字段2的值2,…);UPDATE表名SET
要修改的字段=值,…WHERE條件;推薦不推薦不推薦03刪除數(shù)據(jù)一.任務(wù)分析,刪除一條記錄area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F刪除記錄二.使用DELETEFROM刪除數(shù)據(jù)DELETEFROM表WHERE條件;2.1、示例6-7,刪除“劉偉”這條記錄班級(jí)1表姓名性別成績(jī)黃奕男78劉偉男84羅伊女86姓名性別成績(jī)黃奕男78羅伊女862.1、示例6-7,刪除記錄的語(yǔ)句班級(jí)1表姓名性別成績(jī)黃奕男78劉偉男84羅伊女86姓名性別成績(jī)黃奕男78羅伊女86DELETEFROM表WHERE條件;三.任務(wù),刪除“廣州”這條記錄area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F刪除記錄DELETEFROM表WHERE條件;4.1、刪除表中的所有記錄班級(jí)1表姓名性別成績(jī)姓名性別成績(jī)黃奕男78羅伊女86DELETEFROM表4.1、刪除表中的所有記錄——命令班級(jí)1表姓名性別成績(jī)姓名性別成績(jī)黃奕男78羅伊女86(1)INSERT…VALUES…:向表中添加n條記錄。(2)UPDATE:修改記錄中的字段值。(3)REPLACE:向表中添加記錄,或者修改記錄中的字段值。(4)DELETEFROM:刪除n條記錄。(5)TRUNCATE:刪除所有記錄。本章總結(jié)感謝您的觀看數(shù)據(jù)庫(kù)技術(shù)及應(yīng)用項(xiàng)目7數(shù)據(jù)高級(jí)查詢目錄03數(shù)據(jù)排序01聚合函數(shù)及其應(yīng)用02分組查詢01聚合函數(shù)及其應(yīng)用一.任務(wù)分析從粵文創(chuàng)的數(shù)據(jù)庫(kù)中,獲取:1.統(tǒng)計(jì)地級(jí)市的個(gè)數(shù)2.找出面積最小的地級(jí)市area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵C二.知識(shí)儲(chǔ)備:如何求平均值SELECT
AVG(字段名)FROM
表名average的縮寫2.1、示例7-1:求所有學(xué)生的平均成績(jī)編號(hào)姓名性別成績(jī)1趙曉明男982張宏男883陳強(qiáng)男79班級(jí)1表2.1、示例7-1:求所有學(xué)生的平均成績(jī)——命令編號(hào)姓名性別成績(jī)1趙曉明男982張宏男883陳強(qiáng)男79班級(jí)1表SELECT
AVG(成績(jī))FROM
表名三.如何統(tǒng)計(jì)個(gè)數(shù)——符合條件的記錄的數(shù)量SELECT
COUNT(字段名)FROM
表名3.1、
統(tǒng)計(jì)廣東省地級(jí)市的個(gè)數(shù)area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵CSELECT
COUNT(*)FROM
表名3.2、
最小的地級(jí)市,其面積為多少?area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵CSELECT
MIN(面積)FROM
表名四.復(fù)合語(yǔ)句類似于英語(yǔ)的從句。比如:SELECT字段名FROM表WHERE面積=(select語(yǔ)句)select語(yǔ)句的結(jié)果,是一個(gè)值4.1、
哪個(gè)地級(jí)市的面積最小area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵CSELECT中文名FROMareaWHERE面積=(SELECT
MIN(面積)FROMarea);城市的名字五.常用的聚合函數(shù)函數(shù)函數(shù)功能sum()總和avg()平均值count()個(gè)數(shù)max()最大值min()最小值02分組查詢一.什么是分組姓名性別成績(jī)黃奕男78劉偉男84羅伊女86班級(jí)1表比如:按性別分組,求每組人數(shù),最終,得到男女生的數(shù)量。一.分組用到的關(guān)鍵詞是
groupby姓名性別成績(jī)黃奕男78劉偉男84羅伊女86班級(jí)1表比如語(yǔ)句中要用到:
GROUPBY
性別示例7-2:統(tǒng)計(jì)“志愿者活動(dòng)”表中,哪幾個(gè)班級(jí)的人參加了活動(dòng)姓名班級(jí)蔡陳星網(wǎng)絡(luò)2111曾浩網(wǎng)絡(luò)2111陳煌欽網(wǎng)絡(luò)2113陳木泉網(wǎng)絡(luò)2111陳一帆信安2115鄧棋彬網(wǎng)絡(luò)2112鄧子健網(wǎng)絡(luò)2112傅國(guó)權(quán)網(wǎng)絡(luò)2112黃炳盛網(wǎng)絡(luò)2114黃文杰網(wǎng)絡(luò)2112江俊宇網(wǎng)絡(luò)2112梁立志網(wǎng)絡(luò)2112林土稘網(wǎng)絡(luò)2112馬佳宜網(wǎng)絡(luò)2112?????通過(guò)觀察,發(fā)現(xiàn)有5個(gè)班的學(xué)生參加了活動(dòng)。如何通過(guò)
groupby
統(tǒng)計(jì)呢?示例7-2:統(tǒng)計(jì)“志愿者活動(dòng)”表中,哪幾個(gè)班級(jí)的人參加了活動(dòng)的方法姓名班級(jí)蔡陳星網(wǎng)絡(luò)2111曾浩網(wǎng)絡(luò)2111陳煌欽網(wǎng)絡(luò)2113陳木泉網(wǎng)絡(luò)2111陳一帆信安2115鄧棋彬網(wǎng)絡(luò)2112鄧子健網(wǎng)絡(luò)2112傅國(guó)權(quán)網(wǎng)絡(luò)2112黃炳盛網(wǎng)絡(luò)2114黃文杰網(wǎng)絡(luò)2112江俊宇網(wǎng)絡(luò)2112梁立志網(wǎng)絡(luò)2112林土稘網(wǎng)絡(luò)2112馬佳宜網(wǎng)絡(luò)2112SELECT
班級(jí)
FROM
表
GROUPBY
班級(jí)SELECT
DISTINCT
班級(jí)
FROM
表方法1方法2示例7-2:distinct(不同種類的)姓名班級(jí)蔡陳星網(wǎng)絡(luò)2111曾浩網(wǎng)絡(luò)2111陳煌欽網(wǎng)絡(luò)2113陳木泉網(wǎng)絡(luò)2111陳一帆信安2115鄧棋彬網(wǎng)絡(luò)2112鄧子健網(wǎng)絡(luò)2112傅國(guó)權(quán)網(wǎng)絡(luò)2112黃炳盛網(wǎng)絡(luò)2114黃文杰網(wǎng)絡(luò)2112江俊宇網(wǎng)絡(luò)2112梁立志網(wǎng)絡(luò)2112林土稘網(wǎng)絡(luò)2112馬佳宜網(wǎng)絡(luò)2112SELECT
DISTINCT
班級(jí)
FROM
表distinct班級(jí)含義是:每個(gè)班級(jí)只能出現(xiàn)1次,不能重復(fù)。其結(jié)果就是:得到每個(gè)班級(jí)的名稱,去掉重復(fù)任務(wù)7-2:統(tǒng)計(jì)每個(gè)城市名人的數(shù)量需要使用:1.COUNT()2.GROUPBY城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表任務(wù)7-2:統(tǒng)計(jì)每個(gè)城市名人的數(shù)量SELECT城市,COUNT(*)FROM表
GROUPBY城市城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表任務(wù)7-3:統(tǒng)計(jì)廣州、佛山、珠海三個(gè)城市的名人數(shù)量,以及三個(gè)市名人總數(shù)量需要使用:1.WHERE條件:包含這3座城市2.COUNT()3.GROUPBY4.WITHROLLUP城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表匯總,總和任務(wù)7-3:統(tǒng)計(jì)三個(gè)城市名人的數(shù)量和三市總數(shù)量——命令SELECT城市,COUNT(*)FROM表
WHERE城市in('廣州','佛山','珠海')
GROUPBY城市
WITHROLLUP城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表二.拓展知識(shí):
函數(shù)group_concat()concat是
concatenate的縮寫concatenate:連續(xù),連鎖二.拓展知識(shí):group_concat()產(chǎn)生的樣式城市名人珠海蘇兆征,楊匏安,唐國(guó)安潮州林大欽,黃仁勇汕頭秦牧,丘成桐,馬化騰城市名人珠海蘇兆征珠海楊匏安珠海唐國(guó)安潮州林大欽潮州黃仁勇汕頭秦牧汕頭丘成桐汕頭馬化騰原來(lái)只能這樣顯示現(xiàn)在可以在一行內(nèi)顯示借助group_concat()拓展7-2:通過(guò)“名人所在城市”表,列舉出每個(gè)城市的名人要求使用函數(shù)group_concat()城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表拓展7-2:通過(guò)“名人所在城市”表,列舉出每個(gè)城市的名人SELECT城市,GROUP_CONCAT(名人)FROM名人所在城市GROUPBY城市;城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表拓展7-3:通過(guò)“名人所在城市”表,列舉出名人少于11人的城市
及人數(shù)分析:1.按城市分組2.對(duì)每個(gè)組進(jìn)行求和3.篩選出“和”小于11的城市城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表拓展7-3:列舉出名人少于11人的城市
及人數(shù)。引入HAVING對(duì)每個(gè)小組進(jìn)行篩選,其條件引導(dǎo)詞,要使用
having不允許使用
where城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表拓展7-3:通過(guò)“名人所在城市”表,列舉出每個(gè)城市的名人SELECT城市,COUNT(名人)FROM名人所在城市GROUPBY城市
HAVINGCOUNT(*)>11;城市名人云浮惠能云浮陳集原云浮陳璘云浮李熙載云浮蔡廷鍇云浮鄧發(fā)廣州楊孚廣州崔與之廣州李昴英廣州陳大震“名人所在城市”表拓展7-4:“社團(tuán)情況”表中,每個(gè)班的同學(xué)都參加了哪些社團(tuán)分析:先按照班級(jí)分組每個(gè)組中,再按照社團(tuán)分組“社團(tuán)情況”表姓名班級(jí)社團(tuán)蔡陳星網(wǎng)絡(luò)2112歷史曾浩網(wǎng)絡(luò)2113歷史陳煌欽網(wǎng)絡(luò)2113文學(xué)陳木泉網(wǎng)絡(luò)2113文學(xué)陳一帆網(wǎng)絡(luò)2112圍棋鄧棋彬網(wǎng)絡(luò)2114圍棋鄧子健網(wǎng)絡(luò)2114文學(xué)傅國(guó)權(quán)網(wǎng)絡(luò)2112歷史黃炳盛網(wǎng)絡(luò)2114圍棋黃文杰網(wǎng)絡(luò)2112歷史拓展7-4:“社團(tuán)情況”表中,每個(gè)班的同學(xué)都參加了哪些社團(tuán)SELECTDISTINCT班級(jí),社團(tuán)FROM社團(tuán)情況;“社團(tuán)情況”表姓名班級(jí)社團(tuán)蔡陳星網(wǎng)絡(luò)2112歷史曾浩網(wǎng)絡(luò)2113歷史陳煌欽網(wǎng)絡(luò)2113文學(xué)陳木泉網(wǎng)絡(luò)2113文學(xué)陳一帆網(wǎng)絡(luò)2112圍棋鄧棋彬網(wǎng)絡(luò)2114圍棋鄧子健網(wǎng)絡(luò)2114文學(xué)傅國(guó)權(quán)網(wǎng)絡(luò)2112歷史黃炳盛網(wǎng)絡(luò)2114圍棋黃文杰網(wǎng)絡(luò)2112歷史SELECT班級(jí),社團(tuán)FROM社團(tuán)情況GROUPBY班級(jí),社團(tuán);方法1方法203數(shù)據(jù)排序一.任務(wù)分析從粵文創(chuàng)的數(shù)據(jù)庫(kù)中,按車牌號(hào)碼排序area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵C1.1、排序的關(guān)鍵詞是ORDERBY升序:ORDERBY車牌號(hào)碼升序:ORDERBY車牌號(hào)碼
ASC降序:ORDERBY車牌號(hào)碼
DESC
二者等價(jià)示例7.3、按車牌號(hào)碼升序排序area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Guangzhou穗廣東中南部7434.4018676600020粵A5820韶關(guān)Shaoguan韶州廣東北部18400.0028551310751粵F5840深圳Shenzhen鵬城珠江口東岸1997.47175600610755粵B5850珠海Zhuhai百島之市珠江三角洲西南部1736.4524396000756粵CSELECT城市,車牌號(hào)碼FROM表ORDERBY車牌號(hào)碼;任務(wù)7.4、按車牌號(hào)碼降序排序area表地區(qū)編號(hào)中文名外文名別名地理位置面積(平方千米)人口數(shù)量(人)電話區(qū)號(hào)車牌代碼5810廣州Gua
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 懷化學(xué)院《地理信息系統(tǒng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 懷化學(xué)院《抽象代數(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 職場(chǎng)道德行為規(guī)范實(shí)施方案
- 汽車安全氣囊課程設(shè)計(jì)
- 谷物烘干機(jī)課程設(shè)計(jì)
- Penicillin-G-potassium-Standard-生命科學(xué)試劑-MCE
- 餐桌禮儀中西餐課程設(shè)計(jì)
- 古文教育課程設(shè)計(jì)
- 信息技術(shù)行業(yè)職業(yè)道德與師風(fēng)建設(shè)總結(jié)
- 華中師范大學(xué)《量化傳播研究方法》2021-2022學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)城汽車整車開(kāi)發(fā)程序
- 企業(yè)風(fēng)險(xiǎn)管理與合規(guī)的組織架構(gòu)與流程
- 《思想道德與法治》期末考試大全-下(判斷題匯總)
- 主動(dòng)脈夾層內(nèi)科試題及答案
- 有限空間作業(yè)安全交底
- 初中數(shù)學(xué)新課標(biāo)培訓(xùn)心得
- 泵與泵站知識(shí)點(diǎn)總結(jié)
- 大班音樂(lè)《小老鼠和泡泡糖》課件
- 12、口腔科診療指南及技術(shù)操作規(guī)范
- 四年級(jí)上冊(cè)Unit1 My classroom作業(yè)設(shè)計(jì)案例
- 孕產(chǎn)婦妊娠風(fēng)險(xiǎn)篩查與評(píng)估
評(píng)論
0/150
提交評(píng)論