國家開放大學(xué)電大《MySQL數(shù)據(jù)庫應(yīng)用》網(wǎng)絡(luò)核心課實(shí)驗(yàn)訓(xùn)練3及4答案
《國家開放大學(xué)電大《MySQL數(shù)據(jù)庫應(yīng)用》網(wǎng)絡(luò)核心課實(shí)驗(yàn)訓(xùn)練3及4答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《國家開放大學(xué)電大《MySQL數(shù)據(jù)庫應(yīng)用》網(wǎng)絡(luò)核心課實(shí)驗(yàn)訓(xùn)練3及4答案(8頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、最新國家開放大學(xué)電大《MySQL數(shù)據(jù)庫應(yīng)用》網(wǎng)絡(luò)核心課實(shí)驗(yàn)訓(xùn)練3及4答案 盜傳必究 本課程分為形成性考核和終結(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ù)庫和表,25分;實(shí)訓(xùn)二:數(shù)據(jù)查詢操作,25分;實(shí)訓(xùn)三:數(shù)據(jù)增刪改操 作,25分;實(shí)訓(xùn)四:數(shù)據(jù)庫系統(tǒng)維護(hù),25分。 實(shí)驗(yàn)訓(xùn)練3數(shù)據(jù)增刪改操作 答案: 實(shí)驗(yàn)?zāi)康模? 基于實(shí)驗(yàn)1創(chuàng)建的汽車用品網(wǎng)上商城數(shù)據(jù)庫Shopping,練習(xí)Insert、Delete. TRUNCATE
2、TABLE. Update 語句的操作方法,理解單記錄插入與批量插入、DELETE與TRUNCATE TABLE語句、單表修改與多表修改的 區(qū)別。 實(shí)驗(yàn)內(nèi)容: 【實(shí)驗(yàn)3-1]插入數(shù)據(jù) (1) 使用單記錄插入Insert語句分別完成汽車配件表Autoparts、商品類別表category>用戶表 Client、用戶類別表Clientkind、購物車表shoppingcart、訂單表Order >訂單明細(xì)表 order_has_Autoparts評(píng)論Comment的數(shù)據(jù)插入,數(shù)據(jù)值自定;并通過select語句檢查插入前后的記錄 情況。 INSERT INTO 目標(biāo)表 SELECT * FR
3、OM 來源表; insert into insertTest select * from insertTest2; INSERT INTO目標(biāo)表(字段1,字段2,...)SELECT字段1,字段2, ... FROM來源表;(這里的話字段 必須保持一致) insert into insertTest2(id) select id from insertTest2; INSERT INTO 目標(biāo)表 (字段1,字段2,...) SELECT 字段 1,字段 2,... FROM來源表 WHERE not exists (select * from 目標(biāo)表 where目標(biāo)表.比較字
4、段=來源表.比較字段); 1>.插入多條記錄: insert into insertTest2 (id, name ) select id, name from insertTest where not exists ( select * from insertTest2 where insertTest2. id=insertTest. id); 2>.插入一條記錄: insert into insertTest (id, name ) SELECT 100, 'liudehua' FROM dual WHERE not exists ( sel
5、ect * from insertTest where insertTest. id = 100); (2) 使用帶Select的Insert語句完成汽車配件表Autoparts中數(shù)據(jù)的批量追加;并通過select語句 檢查插入前后的記錄情況。 create TABLE Tablel ( a varchar( 10 ), b varchar ( 10 ), c varchar ( 10 ), CONSTRAINT [PK_Tablel] PRIMARY KEY CLUSTERED ( a ASC ) )ON [PRIMARY] create TABLE Table2 ( a varch
6、ar( 10 ), c varchar ( 10 ), d int , CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED ( a ASC ) )ON [PRIMARY] GO 【實(shí)驗(yàn)3-2】刪除數(shù)據(jù) (1 ) 使用Delete語句分別完成購物車表shoppingcart、訂單表Order、訂單明細(xì)表 Order_has_Autoparts評(píng)論Comment的數(shù)據(jù)刪除,刪除條件白定;并通過select語句檢查刪除前后的記 錄情況。 一刪除數(shù)據(jù) delete from meta_order_items where meta_order_item
7、s_id in( select b. meta order items id from ( --主意:同一張表要外包這一層視圖 select meta_order_items_id from meta_order_ite where state='create' and CREATED_STAMP 〈'2015-11-19' (2)使用TRUNCATE TABLE語句分別完成購物車表shoppingcart.評(píng)論Comment的數(shù)據(jù)刪除。 【實(shí)驗(yàn)3-3】修改數(shù)據(jù) 使用Update分別完成汽車配件表Autoparts、商品類別表category>
8、用戶表Client、用戶類別表 Clientkind、購物車表 shoppingcart> 訂單表 Order、訂單明細(xì)表 Order_has_Autoparts> 評(píng)論 Comment 的數(shù)據(jù)修改,修改后數(shù)據(jù)值自定,修改條件自定;并通過select語句檢查修改前后的記錄情況。 UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_namel=exprl [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]: 實(shí)驗(yàn)要求: 1.
9、 所有操作必須通過MySQL Workbench完成; 2. 每執(zhí)行一種插入、刪除或修改語句后,均要求通過MySQL Workbench 2看執(zhí)行結(jié)果及表中數(shù)據(jù)的變化 情況; 3. 將操作過程以屏幕抓圖的方式拷貝,形成實(shí)驗(yàn)文檔。 實(shí)驗(yàn)訓(xùn)練4:數(shù)據(jù)庫系統(tǒng)維護(hù) 答案: 1.1 實(shí)驗(yàn)?zāi)康? 通過創(chuàng)建數(shù)據(jù)庫、并進(jìn)行相應(yīng)的維護(hù),了解并掌握Mysql數(shù)據(jù)庫的創(chuàng)建和維護(hù)的不同方法和途徑,并通 過這一具體的數(shù)據(jù)庫理解實(shí)際數(shù)據(jù)庫所包含的各要素。 1.2 實(shí)驗(yàn)內(nèi)容 1 .數(shù)據(jù)庫創(chuàng)建與維護(hù) (1) 創(chuàng)建數(shù)據(jù)庫表 創(chuàng)建學(xué)生選課數(shù)據(jù)庫中所包含的數(shù)據(jù)庫表,數(shù)據(jù)庫表結(jié)構(gòu)如下: 學(xué)生(學(xué)號(hào),姓名,性別,年
10、齡,系別,班級(jí)) 課程(課程編號(hào),課程名稱,學(xué)分) 選修(學(xué)號(hào),課程編號(hào),學(xué)生成績) 要求為各數(shù)據(jù)庫表屬性選擇合適的數(shù)據(jù)類型。 列名、數(shù)據(jù)類型(長度列、精度、小數(shù)位數(shù)項(xiàng))、是否允許空值等。 (2) 查看和修改表結(jié)構(gòu)。 選擇一個(gè)數(shù)據(jù)庫表,練習(xí)對(duì)其表結(jié)構(gòu)進(jìn)行相應(yīng)的修改。 (3) 練習(xí)用交互式的SQL語句分別完成以上操作。 (4) 對(duì)學(xué)生數(shù)據(jù)庫中的三張表分別插入數(shù)據(jù); (5) 對(duì)表中的數(shù)據(jù)進(jìn)行修改; (6) 對(duì)表中的數(shù)據(jù)進(jìn)行刪除操作 2 . ( 1 )建立如下視圖: 學(xué)生選修課程信息視圖,包括以下內(nèi)容: 學(xué)生學(xué)號(hào)、姓名、所在系、選修的課程編號(hào)、課程名稱、成績 (2 )修
11、改以上視圖,增加學(xué)生所在班級(jí)信息。 (3 )對(duì)以上視圖刪除。 1.3 實(shí)驗(yàn)要求 1 . 數(shù)據(jù)庫創(chuàng)建與維護(hù)實(shí)驗(yàn)則要求面向具體應(yīng)用領(lǐng)域,利用SQL Server相關(guān)機(jī)制,創(chuàng)建并維護(hù)數(shù)據(jù) 庫系統(tǒng),為后續(xù)各個(gè)實(shí)驗(yàn)提供前期準(zhǔn)備 2 . 要求學(xué)生根據(jù)以上要求確定實(shí)驗(yàn)步驟,獨(dú)立完成以上實(shí)驗(yàn)內(nèi)容。并在安裝和數(shù)據(jù)庫運(yùn)行后熟悉SQL SERVER的各種運(yùn)行管理。 3? 實(shí)驗(yàn)完成后完成實(shí)驗(yàn)報(bào)告 1.4 實(shí)驗(yàn)環(huán)境 Windows8 pc 機(jī) Mysql配置的環(huán)境 Mysql命令行工具 Workbench可視化工具 1. 5 實(shí)驗(yàn)步驟及結(jié)果分析 1. 5. 1 student數(shù)據(jù)庫創(chuàng)建 打
12、開命令行工具,輸入密碼,用use語句使用相應(yīng)數(shù)據(jù)。U se student使用老師的給的數(shù)據(jù)庫。在 workbench中我們可以看到創(chuàng)建數(shù)據(jù)庫的代碼: 下面是輸入的數(shù)據(jù) I CREATE TABLE * student' ( 'sno' varchar(6) NOT NULL, 「就用禮」測i/: o做、郵勉?圳 「戒虬'卻炒。1 ?-「應(yīng)、理了Mb) (* *滯」「7「鼻「忡>1/«對(duì),廣沖') ('? W丁眈匕饋」 七F , ' sname' varchar( :?) DEFAULT NULL, * se
13、x* varchar(?) DEFAULT NULL, 'bdate' datetime DEFAULT NULL, "dept, varchar(8) DEFAULT NULL, 'classno' varchar( ) DEFAULT NULL, PRIMARY KEY ('sno*) ?) ENGINE=InnoDB DEFAULT CHARSET=utf8; 此處我們會(huì)發(fā)現(xiàn)亂碼問題,老師給的代碼中寫的是Latin,我們改成utf -8 ,便解決了中文亂碼問題。 創(chuàng)建數(shù)據(jù)庫語句,create table +'數(shù)據(jù)庫名
14、' ( '屬性名 ' 屬性類型約束 ) 1. 5. 2 數(shù)據(jù)庫操作一-屬性查詢 查詢表結(jié)構(gòu):即各個(gè)屬性和屬性的完整性約束等。( desc student ) nysql> desc student; ? -« ? ? ? 4 ;Field ; Type ; Hull ; Key ; Default ; Extra ; ? ? 4 ? ? ? 4 ;sno ; uarchar<6> ; NO ; PRI ; NULL ; ; ;sname ; uarchar<6> ; YES ; ; NULL I I
15、 ;sex ; uarchar<2> ; YES ; : NULL I I ;bdate ; datetime ; YES ; : NULL I I ;dept : uarchar<8> ; YES ; : NULL I I !: classno ; uarchar<3> ; YES ; : NULL I I ? ? 4 ? ? ? 4 6 rows in set <0.00 sec> 該語句給我們展示了我們創(chuàng)建的數(shù)據(jù)的所有(屬性名+類型+默認(rèn)初始情況+約束等)信息。 1. 5. 3 數(shù)據(jù)庫操作- --數(shù)據(jù)結(jié)構(gòu)修改 在老師給的
16、默認(rèn)數(shù)據(jù)庫中,我發(fā)現(xiàn)最后一個(gè)屬性classno的屬性為varchar ( 3 );但是數(shù)據(jù)庫數(shù)據(jù) 中classno本來是4位數(shù),所以導(dǎo)致存儲(chǔ)時(shí)與原數(shù)據(jù)不匹配。因此,我們修改一下該屬性。即:將它改 為4位長度的: alter table 'student' modify classno' varchar(4)DEFAULT NULL; mysql> alter table student modify classno uarchar<4> default null; Query OK. 0 rows affected <0.12 sec>
17、 Records: 0 Duplicates: 0 Warnings: 0 我們在數(shù)據(jù)插入操作中進(jìn)行檢測。 1. 5. 4 數(shù)據(jù)庫操作一數(shù)據(jù)插入 例如,我們加入一個(gè)學(xué)生信息,以自己為例: insert into ' student' values ('33333','茹興康’,’男’,’1997/7/7 8:00','計(jì)算機(jī)’,’314 6 '); nysql> insert into "student" values33333'茹興康男'1997/7/7 8=00°
18、. ,計(jì)算 機(jī) Query OK. 1 row affected <0.09 sec> 插入成功,因?yàn)椴迦氲腸lassno為3146是4位的,所以說明數(shù)據(jù)庫結(jié)構(gòu)修改成功。 我們查詢一下: |nysql> select * from student v/here sno=33333 ; ■ . , ■ , ? H sno ; sname ; sex ; bdate ; dept ; classno ; ? ■< , . + ? ;33333 ;茹興康 ;男 ;1997-07-07 08:00:00 ;計(jì)算機(jī) :3146 ; -I ? + . ? &l
19、t; bl row in set <0.00 sec> 插入成功,數(shù)據(jù)庫結(jié)構(gòu)修改成功。 1. 5.5 數(shù)據(jù)庫操作---數(shù)據(jù)查詢 例如:我們查詢學(xué)號(hào)為30201的學(xué)生的所有信息。 采用語句結(jié)構(gòu):select+查詢的屬性from+要查找的表where +約束條件: S elect * from student where sno=30201; |mysql> select * fron student v/here sno=30201 ; 1+ + + + + + ? I! sno ; snane ? sex ; bdate ; dept ; classno ;
20、 + + + + + + :30201 :吳磊 :男 :1980-01-02 00:00:00 :電信 :302 : 1+ + + + + + ? n. row in set <0.00 sec> 1. 5. 6 數(shù)據(jù)庫操作一-數(shù)據(jù)修改 我們按學(xué)號(hào)為30201 ,即第一個(gè)數(shù)據(jù)為例,修改他的名字, Update student set sname = ' abc' where sno=30201; ”ysql> update student set snane=*abcJ where sno=30201; Query OK. 1 row affect
21、ed <0.09 sec〉 Rows matched: 1 Changed: 1 l/arnings: 0 Mysql> select * from student v/here sno=30201 ; ;sno ! snane ! sex ! bdate ! dept ! classno ; 4 4——— 4—— ? 4—-——— 4 ;30201 i abc ;男 ;1980-01-02 00:00:00 ;電信 ;302 ; 1. 5.7 數(shù)據(jù)庫操作一-數(shù)據(jù)刪除 我們按學(xué)號(hào)為30201 ,即第一個(gè)數(shù)據(jù)為例: delete from 'student
22、39; where sno=,30201 nysql> delete f ron "student% v/here sno = > 30201^ ; Query OK. 1 row affected <0.10 sec> nysql> Select * fron student where sno=30201; Empty set <0.00 sec> 因?yàn)槲覀円呀?jīng)刪除了該數(shù)據(jù),所以查詢?yōu)榭铡? 1.5.8 視圖操作—視圖創(chuàng)建 視圖,用來更方便的展示某些信息,或者為了更安全的選擇展示或隱藏某些信息。 我們將student表,sc表,
23、course表連接起來創(chuàng)建新的視圖,從而讓學(xué)生信息更直觀,更方 便。 創(chuàng)建視圖所需語句:create view +視圖名+as +查詢語句。 create view viewl as select sno, sname, dept, eno, cname, grade, classno from student natural join sc natural join course; use student (Database changed lnpsql> create uiew ulev/1 as -> select ame.gvade.classno -&g
24、t; from student natural join sc natural join course; iQuery OK. 0 rov/s affected <0.06 sec〉 我們在下而的視圖查詢 操作中檢測試圖是否創(chuàng)建成功。 1.5.9 視圖操作—視圖查詢 由于在上述實(shí)驗(yàn)中我們將第一個(gè)學(xué)生的數(shù)據(jù)刪除掉了,所以我們選擇查詢后面的同學(xué), 查詢視圖操作代碼和查詢表格是一樣的。 代碼:select * from viewl where sno=30203;(其中viewl是我們創(chuàng)建的視圖名稱); nysql> select * from uiewl where sno
25、=30203; I sno ; snane ! dept ; eno ! cname ! 30203 ;30203 ;30203 伶日后日后日 目日可日可s -B-rr -B-rr -B-rT IHnjPnUTTFU 信信信 作UA算 操JA計(jì) * grade ; classno ? ; 57 ; 302 ; : 50 : 302 ; ; 40 ; 302 ; 由于該同學(xué)選擇了三門不同的課程,因此在進(jìn)行表連接的時(shí)候,增加了該同學(xué)的元組數(shù)量,最終查詢出3 條結(jié)果。 1. 5. 10 視圖操作-一視圖結(jié)構(gòu)修改 在視圖創(chuàng)建中,我們創(chuàng)建了視圖的classno班級(jí)信息,
26、現(xiàn)在我們刪除這一屬性。 使用語句: create or replace view。 C reate or replace view viewl as select sno,sname, dept, eno, cname, grade from student natural join sc natural join course; 然后我們在查詢一下viewl的結(jié)構(gòu),同table操作一樣,用desc語句。結(jié)果如下: mysql> Create or replace uiew uiewl as -> select sno>snanedepteno>cnane
27、>grade -> from student natural join sc natural join course; Query OK. 0 rows affected <0.06 sec> mysql> desc uiewl; + 4 4 + ? Fie Id I Type ; Null ; Key ; Default ; Extra ; 4 + 1 1 sno i i uarchar<6> i i NO ; 1 1 NULL ; ; » 1 snane i i uarchar<6&g
28、t; i i YES ; 1 1 NULL ; ; 1 1 dept i i uarchar<8> i i YES ; 1 1 NULL ; ; » 1 eno i i uarchar<3> i i NO ; 1 1 NULL ; ; 1 1 cnane i i uarchar<12> i i YES ; 1 1 NULL ; ; » 1 grade i i i i ¥ES ; 1 1 NULL : : rows in set <0.00 sec&
29、gt; 顯然,viewl視圖結(jié)構(gòu)中沒有了 classno屬性。 1.5.11 視圖操作-一視圖刪除 最后,我們刪除視圖viewl ,采用語句drop view ; 語句: drop view if exists viewl; 結(jié)果: drop view if exists viev/1 ; buery OK, 0 rows affected <0.00 sec> nysql> desc uiewl; ERROR 1146 <42S02>: Table 9 student-u iewl* doesn't exist 刪除成功,然后我們在查詢視圖viewl時(shí)產(chǎn)生錯(cuò)誤,驗(yàn)證了 viewl的刪除。 1.6 實(shí)驗(yàn)總結(jié) 我們進(jìn)行了對(duì)數(shù)據(jù)庫表的基本操作;對(duì)視圖的基本操作。讓我們將數(shù)據(jù)庫的理論知識(shí)和具體操作很好的 結(jié)合。 雖然,我們剛開始進(jìn)行的實(shí)驗(yàn)操作都比較基礎(chǔ),適用語句都比較簡單,但是我充分感受到了數(shù)據(jù)庫 的美妙,同時(shí)也大大增加了我對(duì)命令行操作的興趣。 在對(duì)數(shù)據(jù)庫表和視圖操作中,我經(jīng)歷了書上查閱,網(wǎng)上mysql命令行使用教程查閱,網(wǎng)上mysql命 令語句查詢,最終完成了此次實(shí)驗(yàn),讓我對(duì)數(shù)據(jù)庫的基礎(chǔ)語句使用以及常用語句使用有了更大的接 觸。同時(shí),實(shí)驗(yàn)也讓我對(duì)視圖的作用最直接的了解,讓我對(duì)理論課的學(xué)習(xí)有了更明確的目標(biāo)性o
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國人民警察節(jié)(筑牢忠誠警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭當(dāng)公安隊(duì)伍鐵軍
- XX國企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會(huì)圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識(shí)培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長會(huì)長長的路慢慢地走