首发微信公众号: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,获取学习资料。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |