目录
修改表结构
创建数据表插入数据
修改已有列
修改 member 表的 name 列的定义
为表增加列
增加一个 address 列,这个列上不设置默认值
增加一个 sex 列,这个列上设置默认值
删除表中的列
删除 sex 列
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
修改表结构
当已经正常建立一张数据表,但后来发现,表出现了少列,或者表列设计不合理,或者表列多了等情况
为此才有了对象的修改操作
但是从开发来说,并不提倡数据表的修改操作
如果要修改数据表,首先需要有一张表
在实际的开发中,为了方便数据库的使用,设计人员往往会给出一个数据库的脚本
这个脚本的后缀一般是“.sql”
开发人员可以利用这个脚本对数据库进行快速恢复
删除原有的数据表
创建新的数据表
创建测试数据
进行事务提交
创建数据表插入数据
-- 删除数据表
drop table member purge;
-- 清空回收站
purge recyclebin;
-- 创建数据表
create table member(
mid number,
name varchar2(20)
);
-- 测试数据
insert into member(mid,name) values(1,'张三');
insert into member(mid,name) values(1,'李四');
-- 提交事务
commit;
SQL> -- 删除数据表
SQL> drop table member purge;
表已删除。
SQL> -- 清空回收站
SQL> purge recyclebin;
回收站已清空。
SQL> -- 创建数据表
SQL> create table member(
2 mid number,
3 name varchar2(20)
4 );
表已创建。
SQL> -- 测试数据
SQL> insert into member(mid,name) values(1,'张三');
已创建 1 行。
SQL> insert into member(mid,name) values(1,'李四');
已创建 1 行。
SQL> -- 提交事务
SQL> commit;
提交完成。
下面就基于这个脚本实现数据表的修改操作
修改已有列
例如,现在在 name 字段上没有设置默认值,这样,当增加的新数据不指定 name 的时候,内容就是 null,所以希望可以有默认值
SQL> insert into member(mid) values(3);
已创建 1 行。
修改 member 表的 name 列的定义
SQL> alter table member modify(name varchar2(30) default '无名氏');
表已更改。
为表增加列
如果发现表中的列不足,那么就需要为其增加新的列
alter table 表名称 add( 列名称 类型 [default 默认值 ], 列名称 类型 [default 默认值 ],...)
增加一个 address 列,这个列上不设置默认值
SQL> alter table member add(address varchar2(30));
表已更改。
上面代码修改数据表 member,增加了一个字段 address
增加一个 sex 列,这个列上设置默认值
SQL> alter table member add(sex varchar2(10) default '男');
表已更改。
上面代码修改数据表 member,增加了 sex 字段,同时设置默认值
删除表中的列
任何情况下,删除这种操作都是极其危险的
alter table 表名称 drop column 列名称 ;
删除 sex 列
SQL> alter table member drop column sex;
表已更改。
以上的操作,知道就行了,建议尽量不要使用