工欲善其事必先利其器
文章持续更新,可以微信搜索【小奇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-数据库对象的使用相关推荐

  1. Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

  2. oracle 伪列访问序列,Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

  3. Oracle数据库对象 序列

    2019独角兽企业重金招聘Python工程师标准>>> Oracle数据库对象_序列 序列是一种数据库对象,用来自动产生一组唯一的序号. 序列是一种共享式的对象,多个用户可以共同使用 ...

  4. Oracle 数据库对象

    目录 数据库对象 案例 1.序列 2.视图 3.索引 数据库对象 1.能够使用数据定义语言中的create关键来创建的都可以成为数据库对象. 2.Oracle中最基础的数据库对象:表,视图 3.其他: ...

  5. Oracle数据库对象

    目录 一,数据库对象介绍 1.1 数据库对象 又称模式对象,是逻辑结构的集合.最基本的数据库对象就是表. 1.2  数据库对象包括 同义词.序列.视图.索引.表.函数.包.过程.触发器等. 二, 同义 ...

  6. Oracle数据库对象题库

    一.    填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中. 在基本表不需要时,可以使用 drop table 语句撤消.在一个基本表撤 ...

  7. Oracle数据库用户失效对象,Oracle数据库对象失效解决

    项目中开发使用了VPD,数据库用户B的对象的创建依赖于数据用户A,由于用户A的对象进行DDL.迁移或dump等操作,造成了用户B的对象INVALID.应用系统的数据源使用了用户B,因此造成应用系统出错 ...

  8. 自动编译失效的Oracle数据库对象

    昨天看有个帖子说到的失效对象重新编译的问题,然后发现自己公司里也出现莫名其妙的失效对象. --创建自动编译失效过程事务记录表 declaretabcnt integer := 0; beginsele ...

  9. 数据库 Oracle数据库对象二

    视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表. --向视图提供数据内容的语句为select语句,可以将视图理解 ...

  10. Oracle数据库对象----视图

最新文章

  1. python【蓝桥杯vip练习题库】ADV-304矩阵转置
  2. 访问修饰符的个人理解-private与protected
  3. IntelliJ IDEA快捷键与使用小技巧
  4. 前端学习(2479):接口文档使用
  5. python 使用 asyncio 包处理并发
  6. 此计算机无法设置密码,电脑该怎么设置密码
  7. DataGridView打印
  8. armbian docker Chrome_Docker入门 - USTCINFO_QC
  9. Docker之使用Dockerfile创建定制化镜像(四)--技术流ken
  10. python中的math.floor可以用于整数吗_为什么Python的math.ceil()和math.floor()操作返回浮点数而不是整数?...
  11. Spring boot 拦截器(HandlerInterceptor) 与 自定义资源映射虚拟路径,WebMvcConfigurer
  12. yaml 变量引用_Yaml语法使用
  13. 前向断言/前向预查/正向断言/正向预查(lookahead assertions)
  14. 游戏文化VS文化游戏(第二篇)
  15. 成也史玉柱,败也史玉柱
  16. 中标麒麟Linux64平台上QT5.6.3源码编译安装
  17. 无人机测量技术在房地一体项目中的应用
  18. linux 日志报警,linux日志报警怎么解决
  19. 国家电网一二次融合配电终端(FTU)发展新方向馈线自动化:具备集中型馈线自动化/就地型馈线自动化包括电压时间型、电压电流型、自适应综合型)及零序电流,零序电压或外施信号法的单相接地故障选线功能
  20. Android ToastUtil

热门文章

  1. **简易的实现用户注册、登陆以及退出功能**
  2. 中国焦炭行业发展现状及趋势分析,提高市场集中度「图」
  3. 分享135个ASP源码,总有一款适合您
  4. 如何学习(3):迭代学习,精益求精
  5. Python的用途介绍
  6. get和post的不同:
  7. 【烟草物流配送系统】项目需求分析
  8. 机器人建模----运动学模型及代码实现
  9. visual studio2019+vcpkg管理第三方库(含使用Git管理工具下载vcpkg方法,已解决)
  10. 瑜岿科技综合能源管理系统助力企业节能降耗工作