首发微信公众号:SQL数据库运维
原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a5b3&token=1491694448&lang=zh_CN#rd
日常工作中,很多情况下都会遇到对原数据表的修改,特别是修改数据字段的长度,会经常的遇到,那么要修改现有表的结构或者新增字段或修改字段长度,就可以使用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,获取学习资料。