Oracle-数据库对象的使用
工欲善其事必先利其器
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。
文章目录
- 一、序列
- 1、创建一个序列
- 2、向学生表插入一条数据,学生id使用myseq序列
- 3、改变myseq序列的步长,每步增加2
- 4、改变myseq序列的开始值为10000
- 5、创建一个循环序列,并且不使用缓存
- 二、同义词的作用
- 1、将scott用户下的student表同义给sys用户使用
- 2、将scott用户下的student表同义给所有用户使用
- 三、视图的定义及使用
- 1、创建一个视图,从学生表中名字为‘张三’的学生中取
- 2、查询学生视图
- 3、更新学生视图,将name为‘张三’的年龄更新为20
- 4、创建一个视图,从学生表中名字为‘张三’的学生中取,并且修改视图不能影响原来真实表的数据
- 5、创建一个视图,从学生表中名字为‘张三’的学生中取,并且视图设置为只读
- 四、索引的定义及使用
- 1、创建一个学生表,并给name建立索引
- 五、总结
一、序列
序列可以使用在数据库表的自动增长列中来用,假如我们的学生表的id想从1开始,然后自动增长,每次增加2,也就是学生id是1、3、5、7、9这种的,我们就可以配合序列来使用
序列有以下属性
sequence_name:序列名称
min_value:当前序列的最小值
max_value:当前序列的最大值
increment_by:每次序列增长的步长
cy:是否为循环序列
or:是否需要排序
cache_size:缓存个数,默认为20个
last_number:最后的数值
nextval:取得序列下一个内容,每调用一次序列的值都会增长
currval:表示取得序列的当前内容,每一次调用序列不会增长
1、创建一个序列
create sequence myseq;
2、向学生表插入一条数据,学生id使用myseq序列
insert into student(id,name) values (myseq.nextval;'张三');
3、改变myseq序列的步长,每步增加2
create sequence myseq increment by 2;
4、改变myseq序列的开始值为10000
create sequence myseq increment by 2 start with 10000;
5、创建一个循环序列,并且不使用缓存
如果我们希望某一列的数据只是1到9的数据,那么我们可以使用循环序列来操作
create sequence myseq
minvalue 1 maxvalue 9
cycle nocache;
二、同义词的作用
同义词可以将一个模式的表给另一个模式来访问。
1、将scott用户下的student表同义给sys用户使用
create sysnoym student for scott.emp;
2、将scott用户下的student表同义给所有用户使用
create public sysnoym student for scott.emp;
三、视图的定义及使用
视图是为了简化复杂查询的,视图是一张虚拟表,并不存储数据,但是数据都来源于真实表中
1、创建一个视图,从学生表中名字为‘张三’的学生中取
create view studentview as select * from student where name = '张三';
2、查询学生视图
select * from studentview;
3、更新学生视图,将name为‘张三’的年龄更新为20
update studentview set age = 20 where name = '张三';
这个时候我们发现真实表student中张三的年龄也被修改了,所以这样修改视图会影响真实表的数据,那么我们接下来创建一个视图让他修改后不影响真实表。
4、创建一个视图,从学生表中名字为‘张三’的学生中取,并且修改视图不能影响原来真实表的数据
create or replace view studentview as
select * from student where name = '张三'
with check option;
5、创建一个视图,从学生表中名字为‘张三’的学生中取,并且视图设置为只读
create or replace view studentview as
select * from student where name = '张三'
with read only;
四、索引的定义及使用
1、创建一个学生表,并给name建立索引
create index name_index on student (name);
五、总结
这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。
Oracle-数据库对象的使用相关推荐
- Oracle数据库对象,同义词、序列、视图、索引
数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...
- oracle 伪列访问序列,Oracle数据库对象,同义词、序列、视图、索引
数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...
- Oracle数据库对象 序列
2019独角兽企业重金招聘Python工程师标准>>> Oracle数据库对象_序列 序列是一种数据库对象,用来自动产生一组唯一的序号. 序列是一种共享式的对象,多个用户可以共同使用 ...
- Oracle 数据库对象
目录 数据库对象 案例 1.序列 2.视图 3.索引 数据库对象 1.能够使用数据定义语言中的create关键来创建的都可以成为数据库对象. 2.Oracle中最基础的数据库对象:表,视图 3.其他: ...
- Oracle数据库对象
目录 一,数据库对象介绍 1.1 数据库对象 又称模式对象,是逻辑结构的集合.最基本的数据库对象就是表. 1.2 数据库对象包括 同义词.序列.视图.索引.表.函数.包.过程.触发器等. 二, 同义 ...
- Oracle数据库对象题库
一. 填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中. 在基本表不需要时,可以使用 drop table 语句撤消.在一个基本表撤 ...
- Oracle数据库用户失效对象,Oracle数据库对象失效解决
项目中开发使用了VPD,数据库用户B的对象的创建依赖于数据用户A,由于用户A的对象进行DDL.迁移或dump等操作,造成了用户B的对象INVALID.应用系统的数据源使用了用户B,因此造成应用系统出错 ...
- 自动编译失效的Oracle数据库对象
昨天看有个帖子说到的失效对象重新编译的问题,然后发现自己公司里也出现莫名其妙的失效对象. --创建自动编译失效过程事务记录表 declaretabcnt integer := 0; beginsele ...
- 数据库 Oracle数据库对象二
视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...
- Oracle数据库对象----视图
最新文章
- python【蓝桥杯vip练习题库】ADV-304矩阵转置
- 访问修饰符的个人理解-private与protected
- IntelliJ IDEA快捷键与使用小技巧
- 前端学习(2479):接口文档使用
- python 使用 asyncio 包处理并发
- 此计算机无法设置密码,电脑该怎么设置密码
- DataGridView打印
- armbian docker Chrome_Docker入门 - USTCINFO_QC
- Docker之使用Dockerfile创建定制化镜像(四)--技术流ken
- python中的math.floor可以用于整数吗_为什么Python的math.ceil()和math.floor()操作返回浮点数而不是整数?...
- Spring boot 拦截器(HandlerInterceptor) 与 自定义资源映射虚拟路径,WebMvcConfigurer
- yaml 变量引用_Yaml语法使用
- 前向断言/前向预查/正向断言/正向预查(lookahead assertions)
- 游戏文化VS文化游戏(第二篇)
- 成也史玉柱,败也史玉柱
- 中标麒麟Linux64平台上QT5.6.3源码编译安装
- 无人机测量技术在房地一体项目中的应用
- linux 日志报警,linux日志报警怎么解决
- 国家电网一二次融合配电终端(FTU)发展新方向馈线自动化:具备集中型馈线自动化/就地型馈线自动化包括电压时间型、电压电流型、自适应综合型)及零序电流,零序电压或外施信号法的单相接地故障选线功能
- Android ToastUtil