首页 > 数据库 >Oracle中ALTER TABLE的五种用法(一)

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

时间:2022-11-21 14:33:10浏览次数:59  
标签:新列 数据表 添加 Oracle TABLE ALTER name

首发微信公众号: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,获取学习资料。

标签:新列,数据表,添加,Oracle,TABLE,ALTER,name
From: https://www.cnblogs.com/since-1995/p/16911324.html

相关文章

  • Oracle函数使用方法
    --Oracletrunc()函数的用法:表示对值的截断/**************日期********************/1.selecttrunc(sysdate)fromdual  --2011-3-18 今天的日期为2011-3-182.selec......
  • mysql中AnalyzeTable优化
    AnalyzeTableMySQL的Optimizer(优化元件)在优化SQL语句时,首先需要收集一些相关信息,其中就包括表的cardinality(可以翻译为“散列程度”),它表示某个索引对应的列包含多少个不同......
  • oracle11 share pool,Oracle设置Shared Pool的大小
    SharedPool的大小设置规则如下:1.查到sharedpool设置的合理值,语句如下:select'SharedPool' component,shared_pool_size_for_estimateestd_sp_size,estd_lc_time_s......
  • el-table封装
    el-table封装要封装组件,首先要先简单了解slot插槽,插槽分为具名插槽和匿名插槽匿名插槽又称默认插槽,当slot没有指定name属性的时候就是一个匿名插槽,一个组件内只能有一个......
  • el-table封装
    el-table封装子组件<el-table:data="tableData"style="width:100%"borderheight='500'max......
  • Linux 使用 iptables 禁止某些 IP 访问
    在Linux服务器被攻击的时候,有的时候会有几个主力IP。如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了。在Linux下封停IP,有封杀网段和封......
  • Windows server 2016 安装oracle的教程图解
    这篇文章主要介绍了Windowsserver2016安装oracle的教程图解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 1.安装oracleOracle的......
  • windows server2016安装oracle 11g的图文教程
    Windows Server是微软面向服务器的操作系统,服务器操作系统和客户端操作系统是不一样的,下面这篇文章主要给大家介绍了关于windows server2016安装oracle 11g的相关资料......
  • ORACLE SQL获取时间字段
    是本周第几天Selectto_char(sysdate,'D')-1fromdual 24小时的形式显示出来要用HH24selectto_char(sysdate,'yyyy-MM-ddHH24:mi:ss')fromdual;......
  • 2013-11-11 Oracle 课堂测试 练习题 例:BULK COLLECT及return table
    --1)查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的--学生编号、学生名称、图书编号、图书名称、借出日期;selects.stuid,s.stuname,b.bid,b.ti......