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

打印 上一主题 下一主题

主题 629|帖子 629|积分 1887

首发微信公众号: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语句了,基础语法如下:
  1. ALTER TABLE table_name action;
复制代码
ALTER TABLE语句可用来:

  • 添加一个或多个列 
  • 修改列定义
  • 删除一列或多列
  • 重命名列名称
  • 重命名表名称
在之前我们新建了一个stuinfo的数据表,新建数据表参考链接:Oracle中新建数据表的两种方法(点击文字可跳转),下面将使用这个表进行ALTER TABLE语句应用的相关操作演示。
原表信息如下:

1. Oracle ALTER TABLE ADD列示例
将新列添加到stuinfo表中,可以使用以下语法:
  1. ALTER TABLE table_name
  2. ADD column_name type constraint;
复制代码
举例,将一个列名为birthdate的新列添加到stuinfo表中:
  1. ALTER TABLE JT_CS.STUINFO
  2. ADD birthdate DATE ;
复制代码
添加新列后的结果显示

 如果需要同时向stuinfo表中添加多列,可以按如下所示语法将新列置于括号内:
  1. ALTER TABLE table_name
  2. ADD (
  3.     column_name type constraint,
  4.     column_name type constraint,
  5.     ...
  6. );
复制代码
举例,将phone、email两列添加到stuinfo表中:
  1. ALTER TABLE JT_CS.STUINFO
  2. ADD (
  3.     phone VARCHAR(20),
  4.     email VARCHAR(100)
  5. );
复制代码
添加新列后的结果显示

注意:请谨记在添加新列时,如果添加新列时需要使用NOT NULL约束,则需要保证在约束添加前数据表必须为空,不然将无法添加新列(提示如下图);不能添加表中已经存在的列,不然会导致错误。另外,ALTER TABLE ADD列语句在表的末尾添加新列。Oracle没有提供直接的方法来允许您像其他数据库系统(如MySQL)那样指定新列的位置。
由于之前新建的数据表已经插入了数据,为了方便操作,这里我就不添加约束了,如果想要添加,在DATA数据类型后边添加NOT NULL即可。

点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万万哇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表