【Oracle】修改表结构

目录

创建示例1:添加一个或多个列

创建示例2:修改列定义

创建示例3: 删除一列或多列

创建示例4:重命名列

创建示例5:重命名表

创建示例1:添加一个或多个列

-----语法:将新列添加到表中
ALTER TABLE table_name ADD column_name type constraint;
-----示例:创建一列
ALTER TABLE scott.stuinfo ADD brithdate DATE NOT NULL(错误:会报错ORA-01758)
ALTER table scott.stuinfo ADD brithdate Date DEFAULT '' NOT NULL;(正确)
以下默认值没有尝试成功:
添加成功如下:
-----语法:将新列添加到表中
ALTER TABLE table_name ADD ( column_name type constraint, column_name type constraint, ... ); 
-----示例:创建多列
ALTER TABLE scott.stuinfo ADD (phone VARCHAR(20), email VARCHAR(100))

创建示例2:修改列定义

-----语法:修改单个列
ALTER TABLE table_name MODIFY column_name type constraint; 
-----示例:在BRITHDATE列填写数据,在执行该语句,设置之后,日期数据并没有变空,但是执行成功了。
ALTER table scott.stuinfo MODIFY BrithDate DATE NULL
-----语法:修改多个列
ALTER TABLE table_name MODIFY ( column_1 type constraint, column_1 type constraint, ...);
-----示例:
ALTER table scott.stuinfo MODIFY (phone VARCHAR2(20) NOT NULL, email VARCHAR2(255) NOT NULL); (报错:ORA-02296)
-----解决:将表中的phone和email列填入数据,即可完成修改,且修改后不能再执行该语句,否则会报错ORA-01442。
ORA-02296错误表明你正在尝试启用一个约束,而数据库表中存在空值。空值不符合约束要求,因此,无法启用约束。
要解决ORA-02296错误,你需要解决表中的空值。 你可以更新表中的每个null值,使其符合约束要求,也可以使用Alter命令删除NOT NULL约束以及其他任何约束,并尝试重新将其添加。

创建示例3: 删除一列或多列

-----语法:删除一列
ALTER TABLE table_name DROP COLUMN column_name; 
-----示例:brithdate列已被删除
ALTER TABLE scott.stuinfo DROP COLUMN brithdate;
-----语法:删除多列
ALTER TABLE table_name DROP (column_1,column_2,...); 
-----示例:email和phone列已按预期删除。
ALTER TABLE scott.stuinfo DROP(phone,email);

创建示例4:重命名列

-----语法:重命名一列
ALTER TABLE table_name RENAME COLUMN column_name TO new_name; 
-----示例:将sex列重命名为stusex列:
ALTER TABLE scott.stuinfo RENAME COLUMN sex TO stusex;

创建示例5:重命名表

-----语法:将一个表重命名为一个新的name的表名
ALTER TABLE table_name RENAME TO new_table_name;
-----示例:将stuinfo表重命名为studentinfo表,再次查看studentinfo表信息
ALTER TABLE stuinfo RENAME TO studentinfo;//不能带用户名scott

相关推荐

  1. oracle 修改结构语句

    2023-12-24 12:40:02       29 阅读
  2. Mysql修改结构、添加索引会锁吗?

    2023-12-24 12:40:02       11 阅读
  3. oracle 修改监听端口

    2023-12-24 12:40:02       30 阅读
  4. Oracle修改用户密码

    2023-12-24 12:40:02       37 阅读
  5. Oracle修改端口总结

    2023-12-24 12:40:02       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-24 12:40:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-24 12:40:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-24 12:40:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-24 12:40:02       20 阅读

热门阅读

  1. 基于LDPC和QAM的通信链路误码率MATLAB仿真

    2023-12-24 12:40:02       39 阅读
  2. 【Bash】重点总结

    2023-12-24 12:40:02       38 阅读
  3. 乐才无代码开发:连接CRM提升电商与营销系统

    2023-12-24 12:40:02       43 阅读
  4. 【C#与Redis】--Redis 命令

    2023-12-24 12:40:02       26 阅读
  5. ArchLinux搭建riscv测试环境(失败)

    2023-12-24 12:40:02       42 阅读
  6. Mysql四种事务隔离级别(简易理解)

    2023-12-24 12:40:02       38 阅读
  7. Python机器学习实战:用Python构建10个有趣的应用

    2023-12-24 12:40:02       35 阅读