國開MySQL數(shù)據(jù)庫應用形考任務4_第1頁
國開MySQL數(shù)據(jù)庫應用形考任務4_第2頁
國開MySQL數(shù)據(jù)庫應用形考任務4_第3頁
國開MySQL數(shù)據(jù)庫應用形考任務4_第4頁
國開MySQL數(shù)據(jù)庫應用形考任務4_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗訓練1在MySQL中創(chuàng)建數(shù)據(jù)庫和表請到電腦端查看實驗目的熟悉MySQL環(huán)境的使用,掌握在MySQL中創(chuàng)建數(shù)據(jù)庫和表的方法,理解MySQL支持的數(shù) 據(jù)類型、數(shù)據(jù)完整性在MySQL下的表現(xiàn)形式,練習MySQL數(shù)據(jù)庫服務器的使用,練習 CREATE TABLE, SHOW TABLES , DESCRIBE TABLE , ALTER TABLE , DROP TABLE 語句 的操作方法。實驗內(nèi)容:【實驗11 MySQL的安裝與配置。參見4.1節(jié)內(nèi)容,完成MySQL數(shù)據(jù)庫的安裝與配置。【實驗12】創(chuàng)建“汽車用品網(wǎng)上商城系統(tǒng)”數(shù)據(jù)庫。用CREATE DATABASE語句創(chuàng)建Shopping數(shù)據(jù)庫

2、,或者通過MySQL Workbench圖形化工具創(chuàng)建Shopping數(shù)據(jù)庫。【實驗仁3】在Shopping數(shù)據(jù)庫下,參見3.5節(jié),創(chuàng)建表34表311的八個表。可以使用CREATE TABLE語句,也可以用MySQL Workbench創(chuàng)建表。【實驗使用SHOW、DESCRIBE語句查看表?!緦嶒?5】使用ALTER TABLE x RENAME TABLE語句管理表。刪除表。語句管理“網(wǎng)【實驗1七】使用DROP TABLE語句刪除表,也可以使用MySQL Workbench(注意:刪除前最好對已經(jīng)創(chuàng)建的表進行復制。)【實驗17】連接、斷開MySQL服務器,啟動、停止MySQL服務器?!緦嶒?

3、1-8 】使用 SHOW DATABASE、USE DATABASE、DROP DATABASE 上商城系統(tǒng)” Shopping數(shù)據(jù)庫。實驗要求:1 配合第1章第3章的理論講解,理解數(shù)據(jù)庫系統(tǒng)。2.掌握MySQL工具的使用,通過MySQL Workbench圖形化工具完成。運算符、函數(shù)、謂詞,因此這是只需要3.每執(zhí)行一種創(chuàng)建、刪除或修改語句后,均要求通過MySQL Workbench查看執(zhí)行結(jié)果。4將操作過程以屏幕抓圖的方式復制,形成實驗文檔。實驗訓練2 :數(shù)據(jù)查詢操作請到電腦端查看實驗目的:基于實驗1創(chuàng)建的汽車用品網(wǎng)上商城數(shù)據(jù)庫Shopping ,理解MySQL練習Select語句的操作方法

4、。實驗內(nèi)容:1. 單表查詢【實驗2.1 字段查詢(1 )查詢商品名稱為“擋風玻璃”的商品信息。分析:商品信息存在于商品表,而且商品表中包含商品名稱此被查詢信 息,涉及一個表就可以完成簡單單表查詢。2 )查詢ID為1的訂單。分析:所有的訂單信息存在于訂單表中,而且訂單用戶ID也存在于此表中,因此這是只需要查詢訂單表就可以完成的查詢?!緦嶒?.2 多條件查詢查詢所有促銷的價格小于1000的商品信息。分析:此查詢過程包含兩個條件,第一個是是否促銷,第二個是價格,在商品表中均有此信息,因此這是一個多重條件的查詢?!緦嶒?2.3 DISTINCT(1 )查詢所有對商品ID為1的商品發(fā)表過評論的用戶IDo

5、分析:條件和查詢對象存在于評論表中,對此商品發(fā)表過評論的用戶不止一個,而且一個用戶可以對此商品發(fā)表多個評論,因此,結(jié)果需要進行去重,這里使用DISTINCT實現(xiàn)。(2 )查詢此汽車用品網(wǎng)上商城會員的創(chuàng)建時間段,1年為一段。分析:通過用戶表可以完成查詢,每年可能包含多個會員,如果把此表中的創(chuàng)建年份都列出 來會有重復,因此使用DISTINCT去重?!緦嶒?2.4 ORDER BY(1)查詢類別ID為1的所有商品,結(jié)果按照商品ID降序排列。分析:從商品表中可以查詢出所有類別ID為1的商品信息,結(jié)果按照商品ID的降序排列,因此使用ORDER BY語句,降序使用DESC關鍵字。(2)查詢今年新增的所有會

6、員,結(jié)果按照用戶名字排序。分析:在用戶表中可以完成查詢,創(chuàng)建日期條件設置為今年,此處使用語句ORDER BY?!緦嶒?.5】GROUP BY(1 )查詢每個用戶的消費總金額(所有訂單)。分析:訂單表中包含每個訂單的訂單總價和 用戶ID?,F(xiàn)在需要將每個用戶的所有訂單提取出來分為一類,通過SUM ()函數(shù)取得總金額。此處使用GROUP BY語句和SUM ()函數(shù)。2)查詢類別價格一樣的各種商品數(shù)量總和。分析:此查詢中需要對商品進行分類,分類依據(jù)是同類別和價格,這是“多列分組” ,較上一個例子更為復雜。2. 聚合函數(shù)查詢【實驗 2.6 COUNT()(1 )查詢類別的數(shù)量。分析:此查詢利用COUNT

7、()函數(shù),返回指定列中值的數(shù)目,此處指定列是類別表中的ID (或者名稱均可)。(2)查詢汽車用品網(wǎng)上商城的每天的接單數(shù)。分析:訂單相關,此處使用聚合函數(shù)COUNT()和Group by子句?!緦嶒?.7】 SUM()查詢該商城每天的銷售額。分析:在訂單表中,有一列是訂單總價,將所有訂單的訂單總價求和,按照下單日期分組,使用SUM()函數(shù)和Group by子句。實驗2.8】AVG()(1)查詢所有訂單的平均銷售金額。分析:同上一個相同,還是在訂單表中,依然取用訂單總價列,使用AVG()函數(shù),對指定列的值求平均數(shù)。【實驗2.9 MAX()(1 )查詢所有商品中的數(shù)量最大者。分析:商品的數(shù)量信息存在

8、于商品表中,此處查詢應該去商品表,在商品數(shù)量指定列中求值最大者。使用MAX()函數(shù)。(2)查詢所有用戶按字母排序中名字最靠前者。分析:MAX()或者MIN()也可以用在文本列,以獲得按字母順序排列的最高或者最低者。同上一個實驗一樣,使用MAX()函數(shù)。實驗2.10】MIN()1)查詢所有商品中價格最低者。分析:同MAX 0用法相同,找到表和列,使用MIN ()函數(shù)。3. 連接查詢【實驗2.11】內(nèi)連接查詢(1)查詢所有訂單的發(fā)出者名字。分析:此處訂單的信息需要從訂單表中得到,訂單表中主鍵是訂單號,外鍵是用戶ID,同時查詢需要得到訂單發(fā)出者的姓名,也就是用戶名,因此需要將訂單表和用戶表通過用戶I

9、D進行連接。使用內(nèi)連接的(INNER) JOIN語句。(2 )查詢每個用戶購物車中的商品名稱。分析:購物車中的信息可以從購物車表中得到,購物車表中有用戶ID和商品ID兩項,通過這兩項可以與商品表連接,從而可以獲得商品名稱。與上一個實驗相似,此查詢使用(INNER) JOIN 語句。實驗2.12】外連接查詢1 )查詢列出所有用戶ID ,以及他們的評論,如果有的話。分析:此查詢首先需列出所有用戶ID,如果參與過評論的話,再列出相關的評論。此處使 用外查詢中的LEFT (OUTER) JOIN語句,注意需將全部顯示的列名寫在JOIN語句左邊。(2)查詢列出所有用戶ID,以及他們的評論,如果有的話。分

10、析:依然是上一個實驗,還可以使用RIGHT (OUTER) JOIN語句,注意需將全部顯示的 列名寫在JOIN語句右邊。【實驗2.13】復合條件連接查詢(1 )查詢用戶ID為1的客戶的訂單信息和客戶名。分析:復合條件連接查詢是在連接查詢的過程中,通過添加過濾條件,限制查詢的結(jié)果,使 查詢的結(jié)果更加準確。此查詢需在內(nèi)查詢的基礎上加上另一個條件,用戶iD為1 ,使用 AND語句添加精確條件。(2)查詢每個用戶的購物車中的商品價格,并且按照價格順序排列。分析:此查詢需要先使用內(nèi)連接對商品表和購物車表進行連接,得到商品的價格,在使用ORDER BY語句對價格進行順序排列。4. 嵌套查詢【實驗2.14

11、IN(1 )查詢訂購商品ID為1的訂單ID,并根據(jù)訂單ID查詢發(fā)出此訂單的用戶IDo分析:此查詢需要使用IN關鍵字進行子查詢,子查詢是通過SELECT語句在訂單明細表中先確定此訂單ID ,在通過SELECT在訂單表中查詢到用戶IDo(2)查詢訂購商品ID為1的訂單ID,并根據(jù)訂單ID查詢未發(fā)出此訂單的用戶IDo分析: 此查詢和前一個實驗相似,只是需使用NOT IN語句?!緦嶒?.15】比較運算符(1)查詢今年新增會員的訂單,并且列出所有訂單總價小于100的訂單IDo分析:此查詢需要使用嵌套,子查詢需先查詢用戶表得到今年創(chuàng)建的用戶信息,在將用戶ID匹配找打訂單信息,其中使用比較運算符提供訂單總價

12、小于100的條件。2)查詢所有訂單商品數(shù)量總和小于100的商品ID,并將不在此商品所在類別的其他類 別的ID列出來。分析:此查詢需要進行嵌套查詢,子查詢過程需要使用到SUM ()函數(shù)和GROUP B丫求出同種商品的所有被訂數(shù)量,使用比較運算符得到數(shù)量總和小于100的商品ID,再使用比較運算 符“不等于”得到非此商品所在類的類別ID o【實驗 2.16 EXISTS(1 )查詢表中是否存在用戶ID為100的用戶,如果存在,列出此用戶的信息。分析:EXISTS關鍵字后面的參數(shù)是一個任意的子查詢,系統(tǒng)對于查詢進行運算以判斷它是 否返回行,如果至少返回一行,那以EXISTS的結(jié)果為TRUE,此時外層查

13、詢語句將進行查 詢。此查詢需要對用戶ID進行EXIST操作。(2)查詢表中是否存在類別ID為100的商品類別,如果存在,列出此類別中商品價格小于5的商品ID o分析:與上一個實驗相似,此實驗在外查詢過程添加了比較運算符?!緦嶒?.17 ANY查詢所有商品表中價格比訂單表中商品ID對應的價格大的商品IDo分析:ANY關鍵字在一個比較操作符的后面,表示若與子查詢返回的任何值比較為TRUE, 則返回TRUEo此處使用ANY來引出內(nèi)查詢?!緦嶒?.18 ALL查詢所有商品表中價格比訂單表中所有商品ID對應的價格大的商品ID o分析:使用ALL時需要同時滿足所有內(nèi)層查詢的條件。ALL關鍵字在一個比較操作

14、符的后 面,表示與子查詢返回的所有值比較為TRUE,則返回TRUEo此處使用ALL來引出內(nèi)查詢?!緦嶒?.19】集合查詢(1)查詢所有價格小于5的商品,查詢類別ID為1和2的所有商品,使用UNION連接查 詢結(jié)果。分析:由前所述,UNION將多個SELECT語句的結(jié)果組合成一個結(jié)果集合, 第1條SELECT 語句查詢價格小于5的商品,第2條SELECT語句查詢類別ID為1和2的商品,使用UNION 將兩條SELECT語句分隔開,執(zhí)行完畢之后把輸出結(jié)果組合為單個的結(jié)果集,并刪除重復的 記錄。2 )查詢所有價格小于5的商品,查詢類別ID為1和2的所有商品,使用UNION ALL 連接查詢結(jié)果。分析

15、:使用UNION ALL包含重復的行,在前面的例子中,分開查詢時,兩個返回結(jié)果中有相同的記錄,使用UNION會自動去除重復行。UNION ALL從查詢結(jié)果集中自動要返回所有匹配行,而不進行刪除。實驗要求:1所有操作必須通過MySQL Workbench完成;2. 每執(zhí)行一種查詢語句后,均要求通過MySQL Workbench查看執(zhí)行結(jié)果;3. 將操作過程以屏幕抓圖的方式拷貝,形成實驗文檔。實驗訓練3數(shù)據(jù)增刪改操作請到電腦端查看實驗目的:基于實驗1創(chuàng)建的汽車用品網(wǎng)上商城數(shù)據(jù)庫Shopping ,練習Insert、Delete、TRUNCATETABLE、Update語句的操作方法,理解單記錄插入

16、與批量插入、DELETE與TRUNCATETABLE語句、單表修改與多表修改的區(qū)別。實驗內(nèi)容:【實驗3-1】插入數(shù)據(jù)(1 )使用單記錄插入Insert語句分別完成汽車配件表Autoparts、商品類別表category x用戶表Client X用戶類別表Clientkind、購物車表shoppingcart、訂單表Order、訂單明細表 order_has_Autoparts、評論Comment的數(shù)據(jù)插入,數(shù)據(jù)值自定;并通過select語句檢查插入前 后的記錄情況。(2 )使用帶Select的Insert語句完成汽車配件表Autoparts中數(shù)據(jù)的批量追加;并通過select 語句檢查插入前后

17、的記錄情況?!緦嶒?-2刪除數(shù)據(jù)(1) 使用Delete語句分別完成購物車表shoppingcart、訂單表Order、訂單明細表Order_has_Autoparts、評論Comment的數(shù)據(jù)刪除刪除條件自定;并通過select語句檢查刪 除前后的記錄情況。(2) 使用TRUNCATE TABLE語句分別完成購物車表shoppingcart、評論Comment的數(shù)據(jù) 刪除。實驗3-3 修改數(shù)據(jù)使用Update分別完成汽車配件表Autoparts x商品類別表category x用戶表Client、用戶類 別表Clientkind、購物車表shoppingcart x訂單表Order、訂單明細

18、表 Order_has_Autoparts、評論Comment的數(shù)據(jù)修改,修改后數(shù)據(jù)值自定,修改條件自定;并 通過select語句檢查修改前后的記錄情況。實驗要求:1 .所有操作必須通過MySQL Workbench完成;2 .每執(zhí)行一種插入、刪除或修改語句后,均要求通過MySQL Workbench查看執(zhí)行結(jié)果及表中數(shù)據(jù)的變化情況;3.將操作過程以屏幕抓圖的方式拷貝,形成實驗文檔。實驗訓練4 :數(shù)據(jù)庫系統(tǒng)維護請到電腦端查看實驗目的:基于實驗1創(chuàng)建的汽車用品網(wǎng)上商城,練習創(chuàng)建用戶、權限管理,數(shù)據(jù)庫備份與恢復方法, 數(shù)據(jù)導出導入的方法,體會數(shù)據(jù)庫系統(tǒng)維護的主要工作。實驗內(nèi)容:1. 數(shù)據(jù)庫安全性【實驗6-1 建立賬戶:創(chuàng)建一個用戶名為4 Teacher *密碼為1 T99999 的用戶;創(chuàng)建一個用戶名為4 Student *密碼為4 S11111 *的用戶。【實驗6-2 用戶授權:將Shopping數(shù)據(jù)庫上SELECT、IN

溫馨提示

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

最新文檔

評論

0/150

提交評論