
Oracle 序列及表的数据管理和操作
发布日期:2021-05-07 19:44:19
浏览次数:21
分类:精选文章
本文共 1530 字,大约阅读时间需要 5 分钟。
文章目录
一、Oracle数据类型
字符串常用 varchar2类型

二、表的管理
- 建表
---创建一个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;
在实际项目中每一张表会配一个序列,但是表和序列是没有必然的联系的,一个序列被哪一张表使用都可以,但是我们一般都是一张表用一个序列。序列的管理一般使用工具来管理。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月31日 17时09分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
华为推送服务 | 简单一招,提高用户活跃和留存
2021-05-09
基于Cocos SDKHub接入华为HMS Game服务—打包上架流程
2021-05-09
Unity平台 | 快速集成华为性能管理服务
2021-05-09