修改基本表
SQL語言用alter table
語句修改基本表,其一般格式如下:
alter table <表名>
add <列名> <數據類型> [<列級完整性約束>] |
drop [constraint] <完整性約束名> |
drop column <列名> |
alter column <列名> <數據類型>
說明:
<表名>
是要更改的表的名字add
字句用於增加新列以及新的完整性約束條件。新增的列不能為not null
約束,因為新增加的列一律為空值。drop constraint
字句用於刪除完整性約束條件。drop column
字句用於刪除原有的列。當在基本表中刪除某一個列時,所有引用該列的視圖和約束也一起自動被刪除。有的系統規定若刪除某一個列時,只有當沒有視圖和約束引用該列時才能刪除,否則拒絕刪除。alter column
字句用於更改原有列的類型和寬度。有的系統不允許對列名和數據類型進行修改,以免原有基本表中的數據丟失。
例如:
-
向圖書表中增加“出版年份”列,其數據類型為日期型:
alter table 圖書 add 出版年份 date;
-
向借閱表增加“借閱日期<還書日期”的約束條件:
alter table 借閱 add constraint C_JY check (借閱日期<還書日期);
或:
alter table 借閱 add check (借閱日期<還書日期);
-
刪除圖書表中圖書名稱取唯一值的約束
alter table 圖書 drop constraint unique(圖書名稱);
或:
alter table 圖書 drop unique(圖書名稱);
-
刪除圖書表中“出版年份”列:
alter table 圖書 drop column 出版年份;
-
將圖書表中單價的數據類型改為整形:
alter table 圖書 alter column 單價 int;
刪除基本表
drop table <表名>
基本表一旦被刪除,表中的數據、此表上建立的索引和視圖都將自動刪除。
有的系統刪除基本表后相關的視圖定義仍然存在,但是當用戶引用這些視圖時會報錯。