【Oracle】修改表结构

2023-12-23 22:00:00

目录

创建示例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

文章来源:https://blog.csdn.net/u011671745/article/details/135173929
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。