修改數據表結構與删除表
數據表一旦定義好之後,一般不需要再去修改數據表結構,尤其是已經存儲大量數據之後。表結構的變化尤其一些約束的改變會直接影響到存儲數據本身。但在一些條件下也是可以修改數據表結構的,如剛定義好的新表,本節主要介紹數據表結構的修改語法及實例。
修改表的字段
修改表的字段主要類型包括删除字段、添加新字段、修改字段名稱、修改字段類型四種操作類型。我們以上一篇文章創建的數據表為例對修改表字段進行說明。上節課我們創建了學生信息表與班級信息表,結構描述如下:
學生信息表結構描述
班級信息表結構描述
1、删除字段
删除字段操作主要從數據表中删除某一個字段,删除字段語法描述如下:
删除數據表字段
其中alter table與drop語法關鍵字,所需提供參數為待删除數據表名字與待删除字段名,如我們要從學生信息表中删除學生性别stusex字段,實現代碼如下:
alter table studentinfor drop stuSex;
執行結果如下:
删除結果
2、添加新字段
添加新字段也是數據表結構修改的常用操作之一,在添加新字段時需要給出字段名稱、類型及添加位置。添加新字段語法描述如下:
添加新字段語法
在語法中方括号部分表示可以省略,針對我們剛才操作的學生信息表,我們删除性别字段後,再可以通過添加新字段實現性别字段的添加。實現代碼如下:
ALTER TABLE studentinfor ADD stuSex VARCHAR(1) NOT NULL AFTER stuBirth
我們在studentinfor表中stuBirth字段之後新增了一個stuSex字段,并定義了字段類型與非空約束。
3、修改字段名稱與類型
該命令可以同時修改字段名稱與數據類型,基本語法描述如下:
修改字段名稱、類型
命令使用語法關鍵字ALTER table 和 change實現字段名稱與類型的修改,如學生信息表中,我們需要修改學生生日stuBirth字段為年齡,數據類型從varchar改為int。實現代碼描述如下:
ALTER TABLE studentinfor CHANGE stuBirth stuAge INT
4、修改字段數據類型
該命令隻用于實現字段數據類型修改,命令語法描述如下:
修改字段數據類型命令
該命令使用alter table與modify關鍵字實現字段數據類型修改,針對學生信息表,我們可以将家庭住址stuHome字段由varchar(25) 改為char(50),實現代碼描述如下:
ALTER TABLE studentinfor MODIFY stuHome CHAR(50)
修改約束條件
表的約束條件修改主要包括删除約束條件與添加約束條件等操作。添加約束時需要考慮表中對應字段存儲的值是否符合約束要求。如果不符合在添加約束時可能會出錯。
1、添加約束
添加約束需要指明對應的字段,約束名及約束類型,添加約束命令描述如下:
添加約束命令
添加約束命令如上圖所示,如針對學生信息表,我們需要對家庭住址字段設置唯一約束,則可通過添加約束命令實現。代碼如下:
ALTER TABLE studentinfor ADD CONSTRAINT home_unqiue UNIQUE(stuHome)
需要注意一個問題如果要對某一字段添加默認值約束,則需要使用以下語法:
ALTER TABLE 表明
ALTER 字段名 SET DEFAULT '默認值'
如我們需要對家庭住址字段設置默認值山東濟南,則可使用以下命令:
ALTER TABLE studentinfor
ALTER stuHome SET DEFAULT '山東濟南'
2、删除約束
删除約束時需要針對不同約束類型單獨編寫删除命令實現删除,删除命令語法描述如下:
删除約束
删除約束命令如上圖所示,分别用于實現主鍵删除、外鍵删除、唯一删除 與默認值删除。實例不再一一說明。
3、修改數據表名字
該命令主要用于實現數據表名字修改,語法如下:
修改數據表名字
我們可以使用兩種方法實現數據表名字修改,實例如下:
ALTER TABLE studentinfor RENAME TO stuinfor
删除數據表
删除數據表時需要注意表與表之間存在的關系,如外鍵關系,需要注意删除的順序,首先删除外鍵依賴的表,再删除具有外鍵的表。删除數據表語法與實例如下:
drop table 數據表名
drop table studentinfor
本頭條号長期關注編程資訊分享;編程課程、素材、代碼分享及編程培訓。如果您對以上方面有興趣或代碼錯誤、建議與意見,可在評論區回複。更多程序設計相關教程及實例分享,期待大家關注與閱讀!
,