Oracle 学习笔记 12 -- 序列、索引、同义词
数据库的对象包含:表、视图、序列、索引和同义词。在前面的笔记中陆续学习了表和视图,那么本次笔记将学习剩
下的数据库对象,即:序列、索引和同义词。
序列:提供有规律的数值。可供多个用户用来产生唯一数值的数据库对象,主要用来提供主键的值。
索引:提高查询的效率。
同义词:给对象起别名。
在MYSQL 和 SQL SERVER 数据库中。主键的值都是设置为自己主动增长的,这样在插入数据的时候。便不须要再显示
的指明数据的值。
假设也想要在Oracle中也完毕自己主动增长的更能,则要依靠序列来实现。
创建语法格式:
CREATE SEQUENCE sequence[INCREMENT BY n] --每次增长的数值[START WITH n] --从哪个值開始[{MAXVALUE n | NOMAXVALUE}][{MINVALUE n | NOMINVALUE}][{CYCLE | NOCYCLE}] --是否须要循环[{CACHEn | NOCACHE}]; --是否缓存登录
例:创建序列
create sequence empseq
increment by 1 --每次增长1个数
start with 1 --从十開始增长
nomaxvalue --没有最大值。无限制增长
cycle --须要循环
nocache --不须要缓存序列创建之后,全部的自己主动增长应该由用户自己处理,序列提供了以下的两种操作:
nextVal:取得序列的下一个内容。
currVal:取得序列当前的内容。
注意:在使用currVal之前,应该先运行nextVal。否则回报currVal尚未在会话中定义的错误。
在创建empseq的时候。设置增长的速度为1。能够通过改变increment by 后面的数值来设置添加的速度。如能够设置为10 。20。可是主键的增长速度一般设置为1。
默认情况下序列的起始值为1,能够通过start with n来设置用户须要的数值。
例:使用序列
insert into emp(empno , ename ,sal ) values(empseq.nextVal ,'lisi' , '8000' ) ;
使用empseq.nextVal 取代了原先须要手动设置的值。提高了效率。
注意:一下情况easy产生序列的裂缝。
系统回滚操作、系统异常错误、多个表同一时候訪问一个序列。
改动序列
改动序列使用alterkeyword,语法格式例如以下:
ALTER SEQUENCE seq_name
[INCREMENT BY n] --每次增长的数值
[{MAXVALUE n | NOMAXVALUE}][{MINVALUE n | NOMINVALUE}][{CYCLE | NOCYCLE}] --是否须要循环[{CACHEn | NOCACHE}];仅仅有序列的拥有者才干改动序列,序列改动后影响的是将来的数据。曾经的数据不会受影响,序列的起始值仅仅能通过删除再重建序列的方式改动。
删除序列
语法格式:
Drop sequence seq_name ;
序列删除之后,不能再引用。
索引
一种独立于表的模式对象, 能够存储在与表不同的磁盘或表空间中索引被删除或损坏, 不会对表产生影响, 其影响的仅仅是查询的速度索引一旦建立, Oracle 管理系统会对其进行自己主动维护, 并且由 Oracle 管理系统决定何时使用索引。用户不用在查询语句中指定使用哪个索引
在删除一个表时,全部基于该表的索引会自己主动被删除通过指针加速 Oracle server的查询速度通过高速定位数据的方法,降低磁盘 I/O
创建语法:
CREATE INDEX indexON table (column[, column]...);
删除索引
DROP INDEX index_name ; 删除索引语句。该操作不可回滚。
同义词-synonym
在创建查询的时候,有的表名字比較的长。这是能够给表起一个同义词,来缩短表的名字
CREATE SYNONYM e FOR employees;给表employees创建了一个同义词e 。运行select * from e;语句的查询结果和运行select * from employees的结果是一样的。
删除同义词
DROP SYNONYM syn_name ;
Oracle 学习笔记 12 -- 序列、索引、同义词的更多相关文章
- 【Oracle学习笔记】序列
Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方,一般结合触发器使用. Sequence是数据库系统的特性,有的数据库有Sequen ...
- SQL反模式学习笔记12 存储图片或其他多媒体大文件
目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点: 1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记—数据字典和常用命令(转载)
转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- SQL反模式学习笔记13 使用索引
目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引. 索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了 ...
- matlab学习笔记12单元数组和元胞数组 cell,celldisp,iscell,isa,deal,cellfun,num2cell,size
一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,s ...
- Ext.Net学习笔记12:Ext.Net GridPanel Filter用法
Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
随机推荐
- 微信小程序 - 开发工具之编译模式
在开发中,遇到一个层级较深的页面,每次都要点击好多步才能调试,也比较闹心,有了自定义编译模式,就方便很多了 点击红圈处, 选择 "+添加编译模式" , 默认的, 启动页面会填入当前 ...
- C#三种模拟自动登录和提交POST信息的实现方法【转】
网页自动登录(提交Post内容)的用途很多,如验证身份.程序升级.网络投票等,以下是用C#实现的方法. 网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以 ...
- 【BZOJ】2301: [HAOI2011]Problem b(莫比乌斯+分块)
http://www.lydsy.com/JudgeOnline/problem.php?id=2301 和这题不是差不多的嘛--[BZOJ]1101: [POI2007]Zap(莫比乌斯+分块) 唯 ...
- Maven实战(三)——多模块项目的POM重构
在本专栏的上一篇文章POM重构之增还是删中.我们讨论了一些简单有用的POM重构技巧,包含重构的前提--持续集成,以及怎样通过加入或者删除内容来提高POM的可读性和构建的稳定性.但在实际的项目中,这些技 ...
- [转]seajs详解
[转]seajs详解 SeaJS 是一个遵循commonJS规范的javascript模块加载框架,可以实现javascript的模块化开发和模块化加载(kk:模块可按需加载或全部加载). SeaJS ...
- hdu 3085(双向bfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3085 思路:双向广搜,每次从M出发,搜三步,从G出发,搜一步,然后就是判断是否走到对方已经走过的格子, ...
- laravel 添加 404 页面
1)使用 laravel 抛出 404 头很简单 abort(404); 还可以添加描述 abort(404, '404 File Not Fund'); 2)如果想自定义 404 页面模版,直接添加 ...
- Oracle索引相关
oracle的索引分为5种:唯一索引,组合索引,反向键索引,位图索引,基于函数的索引. 创建索引的标准语法: CREATE INDEX 索引名 ON 表名 (列名) TABLESPACE 表空间名; ...
- Thymeleaf模板如何获取springMVC返回的model值
Thymeleaf模板如何获取springMVC返回的model值 后台的实现: @RequestMapping("/hello") public String hello(Mod ...
- js 中导出excel 较长数字串会变成科学计数法(转载)
在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串 ...