万有斥力 发表于 2022-11-21 16:35:43

Oracle中ALTER TABLE的五种用法(一)

首发微信公众号: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语句应用的相关操作演示。
原表信息如下:
https://img2022.cnblogs.com/blog/1664512/202211/1664512-20221121142554585-206569684.png
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 ;添加新列后的结果显示
https://img2022.cnblogs.com/blog/1664512/202211/1664512-20221121142657350-443977908.png
 如果需要同时向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)
);添加新列后的结果显示
https://img2022.cnblogs.com/blog/1664512/202211/1664512-20221121142753401-80070133.png
注意:请谨记在添加新列时,如果添加新列时需要使用NOT NULL约束,则需要保证在约束添加前数据表必须为空,不然将无法添加新列(提示如下图);不能添加表中已经存在的列,不然会导致错误。另外,ALTER TABLE ADD列语句在表的末尾添加新列。Oracle没有提供直接的方法来允许您像其他数据库系统(如MySQL)那样指定新列的位置。
由于之前新建的数据表已经插入了数据,为了方便操作,这里我就不添加约束了,如果想要添加,在DATA数据类型后边添加NOT NULL即可。
https://img2022.cnblogs.com/blog/1664512/202211/1664512-20221121142814120-1880509303.png
点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Oracle中ALTER TABLE的五种用法(一)