國家開放大學電大《MySQL數據庫應用》網絡核心課實驗訓練3及4答案
《國家開放大學電大《MySQL數據庫應用》網絡核心課實驗訓練3及4答案》由會員分享,可在線閱讀,更多相關《國家開放大學電大《MySQL數據庫應用》網絡核心課實驗訓練3及4答案(8頁珍藏版)》請在裝配圖網上搜索。
1、最新國家開放大學電大《MySQL數據庫應用》網絡核心課實驗訓練3及4答案 盜傳必究 本課程分為形成性考核和終結性末考兩種考核形式,形成性考核占50% (滿分100分),末考為網絡考試占 50% (滿分100),其中形成性考核為完成課程網站上的形考作業(yè)任務,形考作業(yè)均為主觀題,包括四個實 訓:實訓一:在MYSQL創(chuàng)建數據庫和表,25分;實訓二:數據查詢操作,25分;實訓三:數據增刪改操 作,25分;實訓四:數據庫系統(tǒng)維護,25分。 實驗訓練3數據增刪改操作 答案: 實驗目的: 基于實驗1創(chuàng)建的汽車用品網上商城數據庫Shopping,練習Insert、Delete. TRUNCATE
2、TABLE. Update 語句的操作方法,理解單記錄插入與批量插入、DELETE與TRUNCATE TABLE語句、單表修改與多表修改的 區(qū)別。 實驗內容: 【實驗3-1]插入數據 (1) 使用單記錄插入Insert語句分別完成汽車配件表Autoparts、商品類別表category>用戶表 Client、用戶類別表Clientkind、購物車表shoppingcart、訂單表Order >訂單明細表 order_has_Autoparts評論Comment的數據插入,數據值自定;并通過select語句檢查插入前后的記錄 情況。 INSERT INTO 目標表 SELECT * FR
3、OM 來源表; insert into insertTest select * from insertTest2; INSERT INTO目標表(字段1,字段2,...)SELECT字段1,字段2, ... FROM來源表;(這里的話字段 必須保持一致) insert into insertTest2(id) select id from insertTest2; INSERT INTO 目標表 (字段1,字段2,...) SELECT 字段 1,字段 2,... FROM來源表 WHERE not exists (select * from 目標表 where目標表.比較字
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中數據的批量追加;并通過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 【實驗3-2】刪除數據 (1 ) 使用Delete語句分別完成購物車表shoppingcart、訂單表Order、訂單明細表 Order_has_Autoparts評論Comment的數據刪除,刪除條件白定;并通過select語句檢查刪除前后的記 錄情況。 一刪除數據 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.評論Comment的數據刪除。 【實驗3-3】修改數據 使用Update分別完成汽車配件表Autoparts、商品類別表category>
8、用戶表Client、用戶類別表 Clientkind、購物車表 shoppingcart> 訂單表 Order、訂單明細表 Order_has_Autoparts> 評論 Comment 的數據修改,修改后數據值自定,修改條件自定;并通過select語句檢查修改前后的記錄情況。 UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_namel=exprl [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count]: 實驗要求: 1.
9、 所有操作必須通過MySQL Workbench完成; 2. 每執(zhí)行一種插入、刪除或修改語句后,均要求通過MySQL Workbench 2看執(zhí)行結果及表中數據的變化 情況; 3. 將操作過程以屏幕抓圖的方式拷貝,形成實驗文檔。 實驗訓練4:數據庫系統(tǒng)維護 答案: 1.1 實驗目的 通過創(chuàng)建數據庫、并進行相應的維護,了解并掌握Mysql數據庫的創(chuàng)建和維護的不同方法和途徑,并通 過這一具體的數據庫理解實際數據庫所包含的各要素。 1.2 實驗內容 1 .數據庫創(chuàng)建與維護 (1) 創(chuàng)建數據庫表 創(chuàng)建學生選課數據庫中所包含的數據庫表,數據庫表結構如下: 學生(學號,姓名,性別,年
10、齡,系別,班級) 課程(課程編號,課程名稱,學分) 選修(學號,課程編號,學生成績) 要求為各數據庫表屬性選擇合適的數據類型。 列名、數據類型(長度列、精度、小數位數項)、是否允許空值等。 (2) 查看和修改表結構。 選擇一個數據庫表,練習對其表結構進行相應的修改。 (3) 練習用交互式的SQL語句分別完成以上操作。 (4) 對學生數據庫中的三張表分別插入數據; (5) 對表中的數據進行修改; (6) 對表中的數據進行刪除操作 2 . ( 1 )建立如下視圖: 學生選修課程信息視圖,包括以下內容: 學生學號、姓名、所在系、選修的課程編號、課程名稱、成績 (2 )修
11、改以上視圖,增加學生所在班級信息。 (3 )對以上視圖刪除。 1.3 實驗要求 1 . 數據庫創(chuàng)建與維護實驗則要求面向具體應用領域,利用SQL Server相關機制,創(chuàng)建并維護數據 庫系統(tǒng),為后續(xù)各個實驗提供前期準備 2 . 要求學生根據以上要求確定實驗步驟,獨立完成以上實驗內容。并在安裝和數據庫運行后熟悉SQL SERVER的各種運行管理。 3? 實驗完成后完成實驗報告 1.4 實驗環(huán)境 Windows8 pc 機 Mysql配置的環(huán)境 Mysql命令行工具 Workbench可視化工具 1. 5 實驗步驟及結果分析 1. 5. 1 student數據庫創(chuàng)建 打
12、開命令行工具,輸入密碼,用use語句使用相應數據。U se student使用老師的給的數據庫。在 workbench中我們可以看到創(chuàng)建數據庫的代碼: 下面是輸入的數據 I CREATE TABLE * student' ( 'sno' varchar(6) NOT NULL, 「就用禮」測i/: o做、郵勉?圳 「戒虬'卻炒。1 ?-「應、理了Mb) (* *滯」「7「鼻「忡>1/«對,廣沖') ('? 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; 此處我們會發(fā)現亂碼問題,老師給的代碼中寫的是Latin,我們改成utf -8 ,便解決了中文亂碼問題。 創(chuàng)建數據庫語句,create table +'數據庫名
14、' ( '屬性名 ' 屬性類型約束 ) 1. 5. 2 數據庫操作一-屬性查詢 查詢表結構:即各個屬性和屬性的完整性約束等。( 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)建的數據的所有(屬性名+類型+默認初始情況+約束等)信息。 1. 5. 3 數據庫操作- --數據結構修改 在老師給的
16、默認數據庫中,我發(fā)現最后一個屬性classno的屬性為varchar ( 3 );但是數據庫數據 中classno本來是4位數,所以導致存儲時與原數據不匹配。因此,我們修改一下該屬性。即:將它改 為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 我們在數據插入操作中進行檢測。 1. 5. 4 數據庫操作一數據插入 例如,我們加入一個學生信息,以自己為例: insert into ' student' values ('33333','茹興康’,’男’,’1997/7/7 8:00','計算機’,’314 6 '); nysql> insert into "student" values33333'茹興康男'1997/7/7 8=00°
18、. ,計算 機 Query OK. 1 row affected <0.09 sec> 插入成功,因為插入的classno為3146是4位的,所以說明數據庫結構修改成功。 我們查詢一下: |nysql> select * from student v/here sno=33333 ; ■ . , ■ , ? H sno ; sname ; sex ; bdate ; dept ; classno ; ? ■< , . + ? ;33333 ;茹興康 ;男 ;1997-07-07 08:00:00 ;計算機 :3146 ; -I ? + . ? &l
19、t; bl row in set <0.00 sec> 插入成功,數據庫結構修改成功。 1. 5.5 數據庫操作---數據查詢 例如:我們查詢學號為30201的學生的所有信息。 采用語句結構: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 數據庫操作一-數據修改 我們按學號為30201 ,即第一個數據為例,修改他的名字, 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 數據庫操作一-數據刪除 我們按學號為30201 ,即第一個數據為例: 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ōu)榭铡? 1.5.8 視圖操作—視圖創(chuàng)建 視圖,用來更方便的展示某些信息,或者為了更安全的選擇展示或隱藏某些信息。 我們將student表,sc表,
23、course表連接起來創(chuàng)建新的視圖,從而讓學生信息更直觀,更方 便。 創(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 視圖操作—視圖查詢 由于在上述實驗中我們將第一個學生的數據刪除掉了,所以我們選擇查詢后面的同學, 查詢視圖操作代碼和查詢表格是一樣的。 代碼: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計 * grade ; classno ? ; 57 ; 302 ; : 50 : 302 ; ; 40 ; 302 ; 由于該同學選擇了三門不同的課程,因此在進行表連接的時候,增加了該同學的元組數量,最終查詢出3 條結果。 1. 5. 10 視圖操作-一視圖結構修改 在視圖創(chuàng)建中,我們創(chuàng)建了視圖的classno班級信息,
26、現在我們刪除這一屬性。 使用語句: 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的結構,同table操作一樣,用desc語句。結果如下: 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視圖結構中沒有了 classno屬性。 1.5.11 視圖操作-一視圖刪除 最后,我們刪除視圖viewl ,采用語句drop view ; 語句: drop view if exists viewl; 結果: 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時產生錯誤,驗證了 viewl的刪除。 1.6 實驗總結 我們進行了對數據庫表的基本操作;對視圖的基本操作。讓我們將數據庫的理論知識和具體操作很好的 結合。 雖然,我們剛開始進行的實驗操作都比較基礎,適用語句都比較簡單,但是我充分感受到了數據庫 的美妙,同時也大大增加了我對命令行操作的興趣。 在對數據庫表和視圖操作中,我經歷了書上查閱,網上mysql命令行使用教程查閱,網上mysql命 令語句查詢,最終完成了此次實驗,讓我對數據庫的基礎語句使用以及常用語句使用有了更大的接 觸。同時,實驗也讓我對視圖的作用最直接的了解,讓我對理論課的學習有了更明確的目標性o
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)管理制度:常見突發(fā)緊急事件應急處置程序和方法
- 某物業(yè)公司冬季除雪工作應急預案范文
- 物業(yè)管理制度:小區(qū)日常巡查工作規(guī)程
- 物業(yè)管理制度:設備設施故障應急預案
- 某物業(yè)公司小區(qū)地下停車場管理制度
- 某物業(yè)公司巡查、檢查工作內容、方法和要求
- 物業(yè)管理制度:安全防范十大應急處理預案
- 物業(yè)公司巡查、檢查工作內容、方法和要求
- 某物業(yè)公司保潔部門領班總結
- 某公司安全生產舉報獎勵制度
- 物業(yè)管理:火情火災應急預案
- 某物業(yè)安保崗位職責
- 物業(yè)管理制度:節(jié)前工作重點總結
- 物業(yè)管理:某小區(qū)消防演習方案
- 某物業(yè)公司客服部工作職責