《4.4.1 維護(hù)數(shù)據(jù)表結(jié)構(gòu) 教學(xué)課件中職 數(shù)據(jù)庫基礎(chǔ)及應(yīng)用》由會(huì)員分享,可在線閱讀,更多相關(guān)《4.4.1 維護(hù)數(shù)據(jù)表結(jié)構(gòu) 教學(xué)課件中職 數(shù)據(jù)庫基礎(chǔ)及應(yīng)用(18頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、維護(hù)數(shù)據(jù)表結(jié)構(gòu),當(dāng)應(yīng)用需求發(fā)生變化,數(shù)據(jù)庫系統(tǒng)不能滿足當(dāng)前的要求時(shí),怎么辦呢?最好的方法是對表結(jié)構(gòu)進(jìn)行調(diào)整和修改?,1,.,能增加和刪除字段;,2.,能修改字段屬性;,3.,能修改字段約束和表約束。,活動(dòng),1,增加和刪除字段,莊生發(fā)現(xiàn)之前創(chuàng)建的數(shù)據(jù)表在實(shí)際應(yīng)用中發(fā)現(xiàn),缺字段和存在無效字,段等問題。他考慮是刪后重建,還是直接修改效率高?其實(shí),利用,MySQL,的,alter table,命令就可滿足數(shù)據(jù)表結(jié)構(gòu)的修改要求。,做一做:,莊生發(fā)現(xiàn)已建數(shù)據(jù)表存在必須處理的問題:,(,1,)用戶表(,user,)需要在,utype,和,upwd,之間增加注冊日期字段,regdate,(,2,)為了保密,供
2、貨商表,(Provider),的,Paddress,需要?jiǎng)h除。,步驟命令提示:,(,1,)選擇數(shù)據(jù)庫,use markdb;,(,2,)添加字段:,Alter table,user,add,regdate date,after,upwpd;,(,3,)查看添加效果:,Show create table userG,(,4,)刪除字段,alter table Provider drop Paddress;,(,1,)根據(jù)前面的操作,總結(jié)出添加字段的命令格式是什么?,(,2,)刪除字段的格式是什么?刪除字段的主鍵、外鍵該怎么操作?,想一想:,(1),增加字段,alter table,表名,add,
3、字段定義,位置,;,字段名,數(shù)據(jù)類型,(,長度,),字段約束,first,:在數(shù)據(jù)表,第,1,個(gè)字段之前,。,After,字段名,:在指定的字段名之后。,省略位置項(xiàng),新字段添加在,所有字段之后,。,(2),刪除字段,alter table,表名,drop,字段名,注意,:,表的字段刪除后,該字段對應(yīng)的數(shù)據(jù)內(nèi)容將全部刪除。,活動(dòng),2,修改字段屬性和約束,莊生發(fā)現(xiàn)已建數(shù)據(jù)表,存在需及時(shí)處理的,問題。,(,1,)會(huì)員表,member,中,tcost,字段的類型需由,float,改為,dec(8,2),;,(,2,)交易記錄表,dealing,需將,did,和,mid,字段添加主鍵約束;,(,3,)為
4、了應(yīng)用方便,需將商品信息表,merchinfo,的,bcode,字段名更改為,barcode,。,做一做:,步驟命令提示:,(,1,)選擇數(shù)據(jù)庫,use markdb;,(,2,)修改,字段的類型,Alter table,member,modify,tcost,dec(8,2),;,(,3,)添加字段的主鍵約束,Alter table dealing add primary,key(did,mid);,(,4,)修改字段名,alter table merchinfo,change,bcode barcode char(13);,修改字段的類型時(shí),要注意與原來類型相容且長度不能少于原字段長度,否
5、則有丟失數(shù)據(jù)的風(fēng)險(xiǎn)。,想一想:,(,1,),Alter tablemodify,語句與,Alter tablechange,有什么區(qū)別?,(,2,)如何給交易表,dealing,的,mid,添加外鍵約束?,(,3,)如果要更改數(shù)據(jù)表的文件名,怎么操作?,提示,:不要直接在操作系統(tǒng)中更改數(shù)據(jù)表的文件名,這將導(dǎo)致出現(xiàn)找不到數(shù)據(jù)表的錯(cuò)誤,因?yàn)閿?shù)據(jù)表的名稱信息需要在相關(guān)的系統(tǒng)數(shù)據(jù)表中同步更新。,(1),修改已有字段的數(shù)據(jù)類型,alter table,表名,modify,字段名,數(shù)據(jù)類型,(,長度,),字段約束,位置,;,(2),修改字段的名稱及屬性,alter table,表名,change,原字段名
6、,新字段名,數(shù)據(jù)類型,(,長度,),字段約束,;,(3),添加主鍵約束,alter table,表名,add primary key(,字段名列表,),;,結(jié)一結(jié):,(5),添加外鍵約束,alter table,表名,1,add foreign key,(,字段名,1),references,表名,2(,字段名,2),;,(6),修改數(shù)據(jù)表名稱,alter table,原表名,rename to,新表名,;,在已有數(shù)據(jù)的表中添加主鍵和外鍵,要求表中的數(shù)據(jù)必須滿足主鍵和外鍵相關(guān)的約束要求。,1,.,維護(hù)數(shù)據(jù)表主要包括對,_,和,_,兩方面的維護(hù),。,2.,添加表的字段可利用,alter table,的,_,子句,而刪除字段可利用,alter table,的,_,子句,。,3.,給,provider,表的,pid,添加主鍵的命令是,_,4.,將,sale,表名修改為,sale_bak,的命令是,_,(,1,),添加和刪除字段,;,(,2,),修改字段類型、名稱,;,(,3,),添加主鍵和外鍵,;,(,4,),更改數(shù)據(jù)表的文件名,;,