首發微信公眾號:SQL資料庫運維 原文鏈接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7 ...
首發微信公眾號:SQL資料庫運維
日常工作中,很多情況下都會遇到對原數據表的修改,特別是修改數據欄位的長度,會經常的遇到,那麼要修改現有表的結構或者新增欄位或修改欄位長度,就可以使用ALTER TABLE語句了,基礎語法如下:
ALTER TABLE table_name action;
ALTER TABLE語句可用來:
-
添加一個或多個列
-
修改列定義
-
刪除一列或多列
-
重命名列名稱
-
重命名錶名稱
在之前我們新建了一個stuinfo的數據表,新建數據表參考鏈接:Oracle中新建數據表的兩種方法(點擊文字可跳轉),下麵將使用這個表進行ALTER TABLE語句應用的相關操作演示。
原表信息如下:
1. Oracle ALTER TABLE ADD列示例
將新列添加到stuinfo表中,可以使用以下語法:
ALTER TABLE table_name ADD column_name type constraint;
舉例,將一個列名為birthdate的新列添加到stuinfo表中:
ALTER TABLE JT_CS.STUINFO ADD birthdate DATE ;
添加新列後的結果顯示
如果需要同時向stuinfo表中添加多列,可以按如下所示語法將新列置於括弧內:
ALTER TABLE table_name ADD ( column_name type constraint, column_name type constraint, ... );
舉例,將phone、email兩列添加到stuinfo表中:
ALTER TABLE JT_CS.STUINFO ADD ( phone VARCHAR(20), email VARCHAR(100) );
添加新列後的結果顯示
註意:請謹記在添加新列時,如果添加新列時需要使用NOT NULL約束,則需要保證在約束添加前數據表必須為空,不然將無法添加新列(提示如下圖);不能添加表中已經存在的列,不然會導致錯誤。另外,ALTER TABLE ADD列語句在表的末尾添加新列。Oracle沒有提供直接的方法來允許您像其他資料庫系統(如MySQL)那樣指定新列的位置。
由於之前新建的數據表已經插入了數據,為了方便操作,這裡我就不添加約束了,如果想要添加,在DATA數據類型後邊添加NOT NULL即可。
點擊關註“SQL資料庫運維”,後臺或瀏覽至公眾號文章底部點擊“發消息”回覆關鍵字:進群,帶你進入高手如雲的技術交流群。後臺回覆關鍵字:SQL,獲取學習資料。