




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、最新國(guó)家開(kāi)放大學(xué)電大mysql數(shù)據(jù)庫(kù)應(yīng)用網(wǎng)絡(luò)核心課實(shí)驗(yàn)訓(xùn)練1及2答案盜傳必究本課程分為形成性考核和終結(jié)性末考兩種考核形式,形成性考核占50% (滿分100分),末考為網(wǎng)絡(luò)考試占 50% (滿分100),其中形成性考核為完成課程網(wǎng)站上的形考作業(yè)任務(wù),形考作業(yè)均為主觀題,包括四個(gè)實(shí) 訓(xùn):實(shí)訓(xùn)一:在mysql創(chuàng)建數(shù)據(jù)庫(kù)和表,25分;實(shí)訓(xùn)二:數(shù)據(jù)查詢操作,25分;實(shí)訓(xùn)三:數(shù)據(jù)增刪改操 作,25分;實(shí)訓(xùn)四:數(shù)據(jù)庫(kù)系統(tǒng)維護(hù),25分。實(shí)驗(yàn)訓(xùn)練1在mysql中創(chuàng)建數(shù)據(jù)庫(kù)和表答案:步驟:1、使用show語(yǔ)句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫(kù):mysql>show databases;fiysql> s
2、how databases ; database i infornation_schena i nysqli perfornance_schena i sakilai sns;world板 rows in set <0.00 sec>2、創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)test :mysql>create database test;mysql> create database test; query 0k> 1 row affected <0.00 sec>3、選擇你所創(chuàng)建的數(shù)據(jù)庫(kù):mysql>use test;nysql> use test; datab
3、ase changed4創(chuàng)建一個(gè)數(shù)據(jù)表:首先查看剛才創(chuàng)建的數(shù)據(jù)庫(kù)中存在什么表: mysql>show tables;uysql> show tables; empty set <0.00 sec>(說(shuō)明剛才創(chuàng)建的數(shù)據(jù)庫(kù)中還沒(méi)有數(shù)據(jù)庫(kù)表)接著我們創(chuàng)建一個(gè)關(guān)于students的數(shù)據(jù)表:包括學(xué)生的學(xué)號(hào)(id),姓名(name),性別(sex),年 齡(age) omysql>create table students(id int unsigned not null auto_increment primary key, name char(8) not null,se
4、x char(4) not null, age tinyint unsigned not null,);nysql> create table students<id int unsigned not null auto_increnent primary key .name char<8> not nullsex char<4> not nullage tinyint unsigned not null> ; query ok. 0 rov/s affected <0.39 sec>解釋:以"id int unsigned no
5、t null auto_increment primary key"行進(jìn)行介紹:"id”為列的名稱;"int”指定該列的類型為int(取值范圍為-8388608到8388607),在后而我們又用"unsigned” 加以修飾,表示該類型為無(wú)符號(hào)型,此時(shí)該列的取值范圍為0到16777215;"not null"說(shuō)明該列的值不能為空,必須要填,如果不指定該屬性,默認(rèn)可為空;/?auto_incrementz/需在整數(shù)列中使用,其作用是在插入數(shù)據(jù)時(shí)若該列為null, mysql將自動(dòng)產(chǎn)生 一個(gè)比現(xiàn)存值更大的唯一標(biāo)識(shí)符值。在每張表中僅能有一個(gè)
6、這樣的值旦所在列必須為索引列。''primary key”表示該列是表的主鍵,本列的值必須唯一,mysql將白動(dòng)索引該列。下而的char(8)表示存儲(chǔ)的字符長(zhǎng)度為8, tinyint的取值范圍為-127到128, default屬性指 定當(dāng)該列值為空時(shí)的默認(rèn)值。創(chuàng)建一個(gè)表后,用show tables顯示數(shù)據(jù)庫(kù)中有哪些表:mysql>show tables ;nysql> show tables; 4i tables_in_test i4i studentsi<1 row in set <0.00 sec>5、顯示表結(jié)構(gòu): mysql>desc
7、ribe students;>ysql> describe students ;! field : type; null ; key : default : extrai idiint<10>unsigned;no; pri ;null; auto_increment ;name;char<8>:noi;null:!;sex;char<4>:no:;null:;age;tinyint<3>unsigned ;no;null;i rows in set <0.04 sec>6、在表中添加記錄:首先用select命令來(lái)查看表中
8、的數(shù)據(jù):mysql>select*from students;select*fron students; empty set <0.00 sec>(說(shuō)明剛才創(chuàng)建的數(shù)據(jù)庫(kù)表中還沒(méi)有任何記錄)接著加入一條新紀(jì)錄:mysql>insert into students value( 01,' tom' , ' f' , ' 18');iysql> insert into students ualue<ji9 tom'.'f'.'18'; juery ok. 1 row affec
9、ted <0.07 sec>再用select命令來(lái)查看表中的數(shù)據(jù)的變化:mysql>select*from students;7、用文本方式將數(shù)據(jù)裝入一個(gè)數(shù)據(jù)庫(kù)表:創(chuàng)建一個(gè)文本文件“ student, sql每行包括一個(gè)記錄,用tab鍵把值分開(kāi),并且以在create table語(yǔ)句中列出的次序,例如: 02 tony f 1803 amy m 1804 lisa m 18 將文本文件“student, sql ”裝載到students表中:mysql>load data local infile” e:student. sql" into table stud
10、ents;lmysql> load data local inf ile,fe: wstudents .sqlminto table students ; iquerv ok. 0 rows affected (0.00 sec>(records: 3 deleted: 0 skipped: 3 warnings: 0再使用select命令來(lái)查看表中的數(shù)據(jù)的變化: mysql>select*from students;mysql>selectfro ni students;,+-夫;id ;nane ;sex iage ;,+-夫+;1 ;ton ifi i18 :2
11、:tony !fi i18 :3 :any imi i18 :;4 ;lisa ;mi i18 :;5 ;1 0i i0 !, . .一+5 rowsin set<0.00sec>實(shí)驗(yàn)訓(xùn)練2:數(shù)據(jù)查詢操作答案:實(shí)驗(yàn)?zāi)康模夯趯?shí)驗(yàn)1創(chuàng)建的汽車用品網(wǎng)上商城數(shù)據(jù)庫(kù)shopping ,理解mysql運(yùn)算符、函數(shù)、謂詞,練習(xí)select 語(yǔ)句的操作方法。實(shí)驗(yàn)內(nèi)容:1. 單表查詢【實(shí)驗(yàn)2.1】字段查詢(1 )查詢商品名稱為“擋風(fēng)玻璃"的商品信息。分析:商品信息存在于商品表,而且商品表中包含商品名稱此被查詢信息,因此這是只需要涉及一個(gè)表就 可以完成簡(jiǎn)單單表查詢。(2 )查詢id為1的訂
12、單。分析:所有的訂單信息存在于訂單表中,而且訂單用戶id也存在于此表中,因此這是只需要查詢訂單表 就可以完成的查詢?!緦?shí)驗(yàn)2.2】多條件查詢查詢所有促銷的價(jià)格小于1000的商品信息。分析:此查詢過(guò)程包含兩個(gè)條件,第一個(gè)是是否促銷,第二個(gè)是價(jià)格,在商品表中均有此信息,因此這是 一個(gè)多重條件的查詢。【實(shí)驗(yàn)2.3】distinct(1 )查詢所有對(duì)商品id為1的商品發(fā)表過(guò)評(píng)論的用戶id o分析:條件和查詢對(duì)象存在于評(píng)論表中,對(duì)此商品發(fā)表過(guò)評(píng)論的用戶不止一個(gè),而且一個(gè)用戶可以對(duì)此商 品發(fā)表多個(gè)評(píng)論,因此,結(jié)果需要進(jìn)行去重,這里使用distinct實(shí)現(xiàn)。(2 )查詢此汽車用品網(wǎng)上商城會(huì)員的創(chuàng)建時(shí)間段,1
13、年為一段。分析:通過(guò)用戶表可以完成查詢,每年可能包含多個(gè)會(huì)員,如果把此表中的創(chuàng)建年份都列出來(lái)會(huì)有重復(fù), 因此使用distinct去重?!緦?shí)驗(yàn)2.4】order by(1 )查詢類別id為1的所有商品,結(jié)果按照商品id降序排列。分析:從商品表中可以查詢出所有類別id為1的商品信息,結(jié)果按照商品id的降序排列,因此使用 order by語(yǔ)句,降序使用desc關(guān)鍵字。(2 )查詢今年新增的所有會(huì)員,結(jié)果按照用戶名字排序。分析:在用戶表中可以完成查詢,創(chuàng)建日期條件設(shè)置為今年,此處使用語(yǔ)句order by?!緦?shí)驗(yàn) 2.5 group by(1 )查詢每個(gè)用戶的消費(fèi)總金額(所有訂單)。分析:訂單表中包含每
14、個(gè)訂單的訂單總價(jià)和用戶id。現(xiàn)在需要將每個(gè)用戶的所有訂單提取出來(lái)分為一類, 通過(guò)sumo函數(shù)取得總金額。此處使用group by語(yǔ)句和sum()函數(shù)。(2 )查詢類別價(jià)格一樣的各種商品數(shù)量總和。分析:此查詢中需要對(duì)商品進(jìn)行分類,分類依據(jù)是同類別和價(jià)格,這是“多列分組”,較上一個(gè)例子 更為復(fù)雜。2. 聚合函數(shù)查詢【實(shí)驗(yàn) 2.6 count ()(1 )查詢類別的數(shù)量。分析:此查詢利用count()函數(shù),返回指定列中值的數(shù)目,此處指定列是類別表中的id (或者名稱均 可)。(2 )查詢汽車用品網(wǎng)上商城的每天的接單數(shù)。分析:訂單相關(guān),此處使用聚合函數(shù)count()和group by子句。【實(shí)驗(yàn)2.7
15、 sumo查詢?cè)撋坛敲刻斓匿N售額。分析:在訂單表中,有一列是訂單總價(jià),將所有訂單的訂單總價(jià)求和,按照下單日期分組,使用sumo函 數(shù)和group by子句?!緦?shí)驗(yàn)2.8】avgo(1 )查詢所有訂單的平均銷售金額。分析:同上一個(gè)相同,還是在訂單表中,依然取用訂單總價(jià)列,使用avgo函數(shù),對(duì)指定列的值求平均 數(shù)?!緦?shí)驗(yàn)2.9 maxo(1 )查詢所有商品中的數(shù)量最大者。分析:商品的數(shù)量信息存在于商品表中,此處查詢應(yīng)該去商品表,在商品數(shù)量指定列中求值最大者。使用 maxo函數(shù)。(2 )查詢所有用戶按字母排序中名字最靠前者。分析:max()或者min()也可以用在文本列,以獲得按字母順序排列的最高或
16、者最低者。同上一個(gè)實(shí)驗(yàn) 一樣,使用max()函數(shù)。【實(shí)驗(yàn) 2. 10 min ()(1)查詢所有商品中價(jià)格最低者。分析:同max ()用法相同,找到表和列,使用mino函數(shù)。3. 連接查詢【實(shí)驗(yàn)2.11 內(nèi)連接查詢(1)查詢所有訂單的發(fā)出者名字。分析:此處訂單的信息需要從訂單表中得到,訂單表中主鍵是訂單號(hào),外鍵是用戶id ,同時(shí)查詢需要得 到訂單發(fā)出者的姓名,也就是用戶名,因此需要將訂單表和用戶表通過(guò)用戶id進(jìn)行連接。使用內(nèi)連接的 (inner) join 語(yǔ)句。(2 )查詢每個(gè)用戶購(gòu)物車中的商品名稱。分析:購(gòu)物車中的信息可以從購(gòu)物車表中得到,購(gòu)物車表中有用戶id和商品id兩項(xiàng),通過(guò)這兩項(xiàng)可以
17、 與商品表連接,從而可以獲得商品名稱。與上一個(gè)實(shí)驗(yàn)相似,此查詢使用(inner) join語(yǔ)句?!緦?shí)驗(yàn)2. 12】外連接查詢(1 )查詢列出所有用戶id ,以及他們的評(píng)論,如果有的話。分析:此查詢首先需列出所有用戶id ,如果參與過(guò)評(píng)論的話,再列出相關(guān)的評(píng)論。此處使用外查詢中的 left (outer) join語(yǔ)句,注意需將全部顯示的列名寫(xiě)在join語(yǔ)句左邊。(2 )查詢列出所有用戶id ,以及他們的評(píng)論,如果有的話。分析:依然是上一個(gè)實(shí)驗(yàn),還可以使用right (outer) join語(yǔ)句,注意需將全部顯示的列名寫(xiě)在join語(yǔ) 句右邊?!緦?shí)驗(yàn)2. 13】復(fù)合條件連接查詢(1 )查詢用戶id
18、為1的客戶的訂單信息和客戶名。分析:復(fù)合條件連接查詢是在連接查詢的過(guò)程中,通過(guò)添加過(guò)濾條件,限制查詢的結(jié)果,使查詢的結(jié)果更 加準(zhǔn)確。此查詢需在內(nèi)查詢的基礎(chǔ)上加上另一個(gè)條件,用戶id為1 ,使用and語(yǔ)句添加精確條件。(2 )查詢每個(gè)用戶的購(gòu)物車中的商品價(jià)格,并旦按照價(jià)格順序排列。分析:此查詢需要先使用內(nèi)連接對(duì)商品表和購(gòu)物車表進(jìn)行連接,得到商品的價(jià)格,在使用order by語(yǔ)句 對(duì)價(jià)格進(jìn)行順序排列。4. 嵌套查詢【實(shí)驗(yàn)2. 14 in(1 )查詢訂購(gòu)商品id為1的訂單id ,并根據(jù)訂單id查詢發(fā)出此訂單的用戶id o分析:此查詢需要使用in關(guān)鍵字進(jìn)行子查詢,子查詢是通過(guò)select語(yǔ)句在訂單明細(xì)
19、表中先確定此訂單 id ,在通過(guò)select在訂單表中查詢到用戶id。(2 )查詢訂購(gòu)商品id為1的訂單id ,并根據(jù)訂單id查詢未發(fā)出此訂單的用戶id o分析:此查詢和前一個(gè)實(shí)驗(yàn)相似,只是需使用not in語(yǔ)句?!緦?shí)驗(yàn)2. 15 比較運(yùn)算符(1 )查詢今年新增會(huì)員的訂單,并且列出所有訂單總價(jià)小于100的訂單id。 分析:此查詢需要使用嵌套,子查詢需先查詢用戶表得到今年創(chuàng)建的用戶信息,在將用戶id匹配找打訂 單信息,其中使用比較運(yùn)算符提供訂單總價(jià)小于100的條件。(2 )查詢所有訂單商品數(shù)量總和小于100的商品id ,并將不在此商品所在類別的其他類別的id列 出來(lái)。分析:此查詢需要進(jìn)行嵌套查詢
20、,子查詢過(guò)程需要使用到sum()函數(shù)和group by求出同種商品的所有 被訂數(shù)量,使用比較運(yùn)算符得到數(shù)量總和小于100的商品id ,再使用比較運(yùn)算符“不等于”得到 非此商品所在類的類別id o【實(shí)驗(yàn) 2. 16 exists(1 )查詢表中是否存在用戶id為100的用戶,如果存在,列出此用戶的信息。分析:exists關(guān)鍵字后面的參數(shù)是一個(gè)任意的子查詢,系統(tǒng)對(duì)于查詢進(jìn)行運(yùn)算以判斷它是否返回行,如 果至少返回一行,那以exists的結(jié)果為true,此時(shí)外層查詢語(yǔ)句將進(jìn)行查詢。此查詢需要對(duì)用戶id進(jìn) 行exist操作。(2 )查詢表中是否存在類別id為100的商品類別,如果存在,列出此類別中商品價(jià)格小于5的商 品id。分析:與上一個(gè)實(shí)驗(yàn)相似,此實(shí)驗(yàn)在外查詢過(guò)程添加了比較運(yùn)算符?!緦?shí)驗(yàn)2.17 any查詢所有商品表
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能客服系統(tǒng)定制研發(fā)與多渠道接入與智能營(yíng)銷服務(wù)合同
- 小紅書(shū)網(wǎng)紅直播帶貨合作人收益分成與銷售協(xié)議
- 果園果樹(shù)種植與休閑農(nóng)業(yè)融合發(fā)展承包協(xié)議
- 石油化工儲(chǔ)罐防腐保溫工程設(shè)計(jì)與施工合同
- 婚后數(shù)碼產(chǎn)品共享與維護(hù)責(zé)任協(xié)議
- 醫(yī)院潔凈區(qū)BIM管線設(shè)計(jì)與施工及驗(yàn)收合同
- 農(nóng)業(yè)生態(tài)保護(hù)與修復(fù)有限合伙投資協(xié)議
- 海外醫(yī)療設(shè)施租賃與醫(yī)療技術(shù)支持合同
- 防止婚外情夫妻忠誠(chéng)執(zhí)行及財(cái)產(chǎn)保全協(xié)議
- 電商平臺(tái)商品上架與消費(fèi)者權(quán)益保護(hù)協(xié)議
- 2025北京各區(qū)高三一模數(shù)學(xué)分類匯編解析 答案
- 第18課《井岡翠竹》 課件
- (四調(diào))武漢市2025屆高中畢業(yè)生四月調(diào)研考試 英語(yǔ)試卷
- 廣西壯族自治區(qū)2025年4月高三畢業(yè)班診斷學(xué)考試英語(yǔ)試卷(廣西三模)
- 2025年山東省棗莊市滕州市中考?xì)v史模擬試卷(一)
- 2025華陽(yáng)新材料科技集團(tuán)有限公司招聘(500人)筆試參考題庫(kù)附帶答案詳解
- 2024年美睫技術(shù)考核試題及答案
- 運(yùn)維崗筆試題及答案
- 余杭塘路(俞家圩路-光明路)工程環(huán)評(píng)報(bào)告
- 民航綜合測(cè)試題及答案
- 中國(guó)國(guó)際大學(xué)生創(chuàng)新大賽(2025)職教賽道重點(diǎn)培育項(xiàng)目申報(bào)表
評(píng)論
0/150
提交評(píng)論