數(shù)據(jù)庫創(chuàng)建與維護(hù)實(shí)驗(yàn)_第1頁
數(shù)據(jù)庫創(chuàng)建與維護(hù)實(shí)驗(yàn)_第2頁
數(shù)據(jù)庫創(chuàng)建與維護(hù)實(shí)驗(yàn)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、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),姓名,性別,年齡,系別,班級(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語句分別完成以上

2、操作。(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) 修改以上視圖,增加學(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

3、.4實(shí)驗(yàn)環(huán)境Windows8 pc 機(jī)Mysql配置的環(huán)境Mysql命令行工具 Workbench可視化工具1.5實(shí)驗(yàn)步驟及結(jié)果分析數(shù)據(jù)庫創(chuàng)建打開命令行工具,輸入密碼,用use語句使用相應(yīng)數(shù)據(jù)。Use stude nt使用老師的給的數(shù)據(jù)庫。在workbench中我們可以看到創(chuàng)建數(shù)據(jù)庫的代碼:下面是輸入的數(shù)據(jù)IKffiT INTO 'student' VALUES伽;麺丫幣19*0/1/2 0曲丫髓T3Q22') 迤仍準(zhǔn)畑丫站加F2創(chuàng)他丫前丁鈾2;: ”0208:赤亠學(xué)T站'日80T2 0:007173021'; '迪叭旨船丫站,:刑T2腳丫皤,現(xiàn)

4、,:I -I1 11 1 5 * lrr»an n.m1 'ii/= 1CREATE TABLE student' ('sno" warchar(u) NOT NULL,' sname' varchar(_>) DEFAULT NULL,' sex' wai'Char(2) DEFAULT NULL' bdate" datetiine DEFAULT NULL1dept* chr() DEFAULT MULL*'classno' varchr(3) DEFNJLT MUL

5、L PRIMARY KEY ('sna') ENGINE=InnoDC DEFAULT CHftk5ET=utf8;此處我們會(huì)發(fā)現(xiàn)亂碼問題,老師給的代碼中寫的是Latin,我們改成utf-8,便解決了中文亂碼問題。創(chuàng)建數(shù)據(jù)庫語句,create table +'數(shù)據(jù)庫名'('屬性名 '屬性類型約束)數(shù)據(jù)庫操作-屬性查詢查詢表結(jié)構(gòu):即各個(gè)屬性和屬性的完整性約束等。(desc student)hql> desc student S+ -k-T-4-11Field11Type1Null1 1Key1Default! Extra11-4- -I1sn

6、o11varchar、1NO11PRII1NULL1 H111 1| ?ES1111NULLH 11sex11vat'chr<2>?ESn V1 NULLH11;hdata11datetime¥ESIi INULLi1dept11vai*chAr<8、1VES111NUILL1H H1C Lasamo11¥ES1i11NULL i144-+-<It p&ws: in set <9.00 sec>該語句給我們展示了我們創(chuàng)建的數(shù)據(jù)的所有(屬性名+類型+默認(rèn)初始情況+約束等)信息。數(shù)據(jù)庫操作-數(shù)據(jù)結(jié)構(gòu)修改在老師給的默認(rèn)數(shù)據(jù)庫中,

7、我發(fā)現(xiàn)最后一個(gè)屬性class no的屬性為varchar( 3);但是數(shù)據(jù)庫數(shù)據(jù)中class no本來是4位數(shù),所以導(dǎo)致存儲(chǔ)時(shí)與原數(shù)據(jù)不匹配。因此,我們修改一下該屬性。即:將它改為4位長度的:alter table 'stude nt' modify 'class no' varchar(4)DEFAULT NULL;iysq:iy ft.ltbr table atudeinl; madif1 y Gla.ssno unr*chei'C4 default nuill; IU.EOK, 0 I'Diiis affected C0.12 sec>

8、;:e c o pds : 3 ftuplicat es : 0 llaipri in 9s : 0我們?cè)跀?shù)據(jù)插入操作中進(jìn)行檢測(cè)。數(shù)據(jù)庫操作一數(shù)據(jù)插入例如,我們加入一個(gè)學(xué)生信息,以自己為例:insert into 'student' values('33333','茹興康','男','1997/7/7 8:00','計(jì)算機(jī)','3146');Wql> insert into 'student' u*lues<J 33333 * 茹興康'J 男

9、9;JI何"”7計(jì)算肌31鉗片luevsr OK* 1 row affected (0.09 sec>插入成功,因?yàn)椴迦氲腸lass no為3146是4位的,所以說明數(shù)據(jù)庫結(jié)構(gòu)修改成功。我們查詢一下:se lect * Fi'oiii 吝tuidemt where soQi=33333 >+ I sno! sname! sexI bdatei deptJclassnoS專鼻 _一 > aaaaa j > |_> |_> |_> .! 33333:茹興康!男:1997-&7-0?B8: 60:00 :計(jì)算機(jī)!31.弘:+甘1-d

10、+甘+1 row in s&t <B.O0 sec)插入成功,數(shù)據(jù)庫結(jié)構(gòu)修改成功。數(shù)據(jù)庫操作-數(shù)據(jù)查詢例如:我們查詢學(xué)號(hào)為 30201的學(xué)生的所有信息。采用語句結(jié)構(gòu):select+查詢的屬性from+要查找的表 where+約束條件:Select * from stude nt where sn o=30201;召口丄select * from student uhere sno =321:4 -一4 4+一一+snosname! seIbdate!deptclasno«-+-+ i-+362S1!昊磊!男!1980-01-9266 = 60 = 68:電信:302;1

11、 row in set <6-00 sec數(shù)據(jù)庫操作-數(shù)據(jù)修改我們按學(xué)號(hào)為30201,即第一個(gè)數(shù)據(jù)為例,修改他的名字,Update stude nt set sn ame =abc ' where sno=30201;niysqL> update student set ename = ,abcpsno =3020丄;QiiEuy OK, 1 hju afFected 0-09 sec>Ro伸冷 natch&d= 1 Chnsfed:1 Uan ins =0select * Ft*om student wliei?e sno-39291 ;卜4+ -=豐_-當(dāng)

12、-4 s;noI snaine1 S任X1 b込旦七e11dept1 c JgKssno11*=4+-+1 302011 «bc11男:1960-01- 0200=00豊00|電信1 302114-4+- 七_(dá) +_-4-數(shù)據(jù)庫操作-數(shù)據(jù)刪除我們按學(xué)號(hào)為30201,即第一個(gè)數(shù)據(jù)為例:delete from 'stude nt' where sn o='30201:nysqlJ- de lets from 1 student * vliere sno-J 30261J ; E(W OKr 1 I'D id affectedsecys(il>- Se

13、lect * from student wl)ere sno-36201; Empty set C0.30 sec>因?yàn)槲覀円呀?jīng)刪除了該數(shù)據(jù),所以查詢?yōu)榭?。視圖操作-視圖創(chuàng)建視圖,用來更方便的展示某些信息,或者為了更安全的選擇展示或隱藏某些信息。我們將student表,sc表,course表連接起來創(chuàng)建新的視圖,從而讓學(xué)生信息更直觀,更方便。 創(chuàng)建視圖所需語句:create view +視圖名+as+查詢語句。create view view1 asselect sno,sn ame,dept,c no,cn ame,grade,class no from stude nt n atur

14、al j oin sc n atural j oin course;ysq丄us e studen t|曰t詛bn吞u changediS;sq1> create view viewl as-> select sno£name,dept,cno,cname,gr«idecla££no> Fyom student natiiFal join sc natural Jo In course;luevy OK, 0 i"ows affectedsec J我們?cè)谙旅娴囊晥D查詢操作中檢測(cè)試圖是否創(chuàng)建成功。視圖操作-視圖查詢由于在上述實(shí)驗(yàn)

15、中我們將第一個(gè)學(xué)生的數(shù)據(jù)刪除掉了,所以我們選擇查詢后面的同學(xué), 查詢視圖操作代碼和查詢表格是一樣的。代碼:select * from view1 where sno=30203;(其中view1是我們創(chuàng)建的視圖名稱 );iysql> select * Ffohi u iewl uheve sno -302B3 ; 由于該同學(xué)選擇了三門不同的課程,因此在進(jìn)行表連接的時(shí)候,增加了該同學(xué)的元組數(shù)量,最 終查詢出3條結(jié)果。I snoi 涉口然he i d縊pt GRQi cnne:30203 :唐雷I 3BZ03 I 著雷I 3S2B3 !詹雷5 C03 :操作系統(tǒng):C04 : JAUfl程序錢

16、計(jì) ! C0S !計(jì)算機(jī)組成原理5? I 30250 S 30240 I 332視圖操作-視圖結(jié)構(gòu)修改在視圖創(chuàng)建中,我們創(chuàng)建了視圖的class no班級(jí)信息,現(xiàn)在我們刪除這一屬性。使用語句: create or replace view。Create or replace view viewl as select sno,sn ame,dept,c no,cn ame,grade from stude nt n atural join sc n atural join course;然后我們?cè)诓樵円幌聉iew1的結(jié)構(gòu),同table操作一樣,用desc語句。結(jié)果如下:e oi* i*eplace

17、 mleup uiewl as s e Leet sno sname, dl住pt:, chig尸 engine!> from s t ude n t nature! 1 jo in 缶 u natural join course ;Quei*y OK, 8 i*o wsfC0I. 0G s&c >bmysqL)- desc u £ej:1iFieldi Type1Null1 Key«Default i Extra1Isno 丁 iuaifc har-i G 丁 11NO11 丁 111MULL!ii11snaneiua.i*c、!1VES111 

18、71;NULL!1 i11de pti var-c harCB J1 iVES1111HULL:1111enoi iv&rchar<3>11NO111 IINULL:1 i;cnane!uAi*char<i2>!?E£111NULL1I I11gfrad.®1111VES11111NULL1I IH-F-lb-4-J卜b rows in set <0.09顯然,view1視圖結(jié)構(gòu)中沒有了 class no屬性。視圖操作-視圖刪除最后,我們刪除視圖 view1,采用語句drop view ;語句: drop view if exists view1;結(jié)果:drop uieu if exists uzLel ;ImEMy OK* 0 raus affected <6.06 sec>iysql> desc uiewl ;'RROR 1146 <2S02>; TaHc J student «v J doesn11刪除成功,然

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論