Oracle 序列及表的数据管理和操作

一、Oracle数据类型

字符串常用 varchar2类型
在这里插入图片描述

二、表的管理

  1. 建表
    在这里插入图片描述
---创建一个person表
create table person(
       pid number(20),
       pname varchar2(10)
);

(2)表删除

DROP TABLE 表名

(3)修改表结构
在这里插入图片描述

---添加一列
alter table person add (gender number(1));
---修改列类型,char 类型和varchar的区别是char是固定长度,后面指定多少就是多少
alter table person modify gender char(1);
---修改列名称
alter table person rename column gender to sex;
---删除一列
alter table person drop column sex;

三、表数据的更新

因为 oracle 的事务对数据库的变更的处理,我们必须做提交事务才能让数据真正的插入到数据库中,在同样在执行完数据库变更的操作后还可以把事务进行回滚,这样就不会插入到数据库。如果事务提交后则不可以再回滚。

(1)INSERT(增加)
在这里插入图片描述

---查询表中记录
select * from person;
----添加一条记录
insert into person (pid, pname) values (1, '小明');
--凡是增删改操作,需要手动提交事务,才能保存 
commit;

(2)UPDATE(修改)
在这里插入图片描述

----修改一条记录
update person set pname = '小马' where pid = 1;
--凡是增删改操作,需要手动提交事务,才能保存 
commit;

(3)DELETE(删除)

DELETE FROM 表名 WHERE 删除条件;
--删除表中全部记录
delete from person;
--删除表结构
drop table person;
--先删除表,再次创建表。效果等同于删除表中全部记录。
--在数据量大的情况下,尤其在表中带有索引的情况下,该操作效率高。
--索引可以提供查询效率,但是会影响增删改效率。
truncate table person;

四、序列

在很多数据库中都存在一个自动增长的列,如果现在要想在 oracle 中完成自动增长的功能,则只能依靠序列完成,所有的自动增长操作,需要用户手工完成处理。

因为如果每次添加记录都指定序号,那多个人操作同一个数据库时,容易造成混乱,所以设定为自增长,让数据库自动控制。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

----序列不真的属于任何一张表,但是可以逻辑和表做绑定。
----序列:默认从1开始,依次递增,主要用来给主键赋值使用。防止多人操作,如果都赋值序号,造成混乱
----dual:虚表,只是为了补全语法,没有任何意义。
create sequence s_person;
--插入序列
select s_person.nextval from dual;
--查询当前序列
select s_person.currval from dual;

此时如果再添加数据就直接指定序号即可

----添加一条记录,使用序列代替原来的序号,这样不用指定序号,序号会依次递增
insert into person (pid, pname) values (s_person.nextval, '小明');
commit;
select * from person;

在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的,一个序列被哪一张表使用都可以,但是我们一般都是一张表用一个序列。序列的管理一般使用工具来管理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南淮北安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值