SQL语句复习【专题八】
SQL语句复习【专题八】
序列 Sequence。数据库对象是 oracle 专有的。
作用:可以将某一列的值使用序列,来实现自动增长的功能。
访问序列的值。【序列有两个属性 nextval currval】
获得序列的下一个自增(默认自增1)之后的值。每访问一次nextval 序列的值都会自增一次。
---创建序列:
create sequence seq_student
select seq_student.nextval from dual
--获得序列当前值 currval 在创建 序列开始,不能直接访问,必须访问一次 nextval 属性之后才能访问 currval
select seq_student.currval from dual
--使用序列的值
select * from student
insert into student values (seq_stu.nextval,'dilraba'||seq_stu.currval,30,'女','000002',null);
--设置序列的详细的属性
create sequence seq_stu
increment by 2 --设置自增量
start with 100
maxvalue 100000
minvalue 100
cycle --| nocycle
--drop 删除序列
drop sequence seq_student
数据库对象 -- 索引【索引的作用:用来加速检索数据的】
索引是被动使用的,如果某些字段被检索的频率比较高,那么就可以根据该字段生成对应的索引,来加速针对该字段的检索的速度
--索引的创建方式:
--1:自动创建:primary key unique 类,oracle会自动的针对该类的数据生成索引。
--2:手动创建
---创建索引
create index index_student_sname on student(sname)
--索引一旦创建自动使用
truncate table student
--带索引的检索
select * from student where sname='小白200'--0.016
--删除索引
drop index index_student_sname
使用索引的要点:
①索引数据可能要占用大量的存储空间。
②索引改善检索操作的性能,但降低数据插入、修改和删除的性能。在执行这些操作时,DBMS必须动态地更新索引。
③限制表中索引的数目。索引越多,在修改表时对索引做出修改的工作量越大
④并非所有数据都适合于索引。唯一性不好的数据(如省)从索引得到的好处不比具有更多可能值的数据(如姓名)从索引得到的好处多
⑤索引用于数据过滤和数据排序。如果你经常以某种特定的顺序排序数据,则该数据可能是索引的备选。
⑥可以在索引中定义多个列(如省加城市),这样的索引只在以省加城市的顺序排序时有用。如果想按城市排序,则这种索引没有用处。
小总结
1、约束
①域完整性约束:非空 not null 检查 check
②记录完整性约束:主键 primary key 唯一 unique
③参照完整性约束:外键 foreign key
④表级约束、列级约束(not null,只能列级)
2、删除主表的记录的时候,关于从表对主表字段引用的处理的方式
①受限制的 restrict 不允许删除。
②cascade:从表一并删除
③set null: 设置为null
3、序列:Sequence oracle 特有的数据库对象。
nextval(自增并返回)、currval(返回序列当前值)
4、index 索引。被动使用。为了加快 检索数据的速度。
①自动创建:主键 primary key + unique 。拥有这两种约束的字段,自动会给每一个数据创建对象的索引。
②会降低,DML操作。
③如果重复的数据比较多(不建议)
SQL语句复习【专题八】的更多相关文章
- SQL语句复习【专题一】
SQL语句复习[专题一] --创建用户 scott 并设置密码为 tiger create user scott identified by tiger --用户刚刚创建没有任何的权限,连登录的权限都 ...
- SQL语句复习【专题二】
SQL语句复习[专题二] 单行函数(日期.数学.字符串.通用函数.转换函数)多行函数.分组函数.多行数据计算一个结果.一共5个.sum(),avg(),max(),min(),count()分组函数 ...
- SQL语句复习【专题三】
SQL语句复习[专题三] DML 数据操作语言[insert into update delete]创建表 简单的方式[使用查询的结果集来创建一张表]create table temp as sele ...
- SQL语句复习【专题四】
SQL语句复习[专题四] 多表查询 sql 92多表查询 sql92.sql99 标准--查询所有员工的姓名,部门编号,部门名称select * from empselect * from dept- ...
- SQL语句复习【专题五】
SQL语句复习[专题五] 单行子查询:只会得到一个结果的子查询[子查询的内容必须放在小括号中.在查询语句中的查询语句 ]--查询所有比 CLARK 员工 工资高的员工--1.先查询 CLARK 员工的 ...
- SQL语句复习【专题六】
SQL语句复习[专题六] 用户 + 创建表 --创建一个新的用户,然后给新的用户创建一张表,然后给表中添加一些数据.查询表中的数据 --创建用户需要比较大的权限 DBA create user di ...
- SQL语句复习【专题七】
SQL语句复习[专题七] 完整性约束分类1)域完整性约束(非空not null,检查check)2)实体完整性约束(唯一unique,主键primary key)3)参照完整性约束(外键foreign ...
- SQL语句复习【专题九】
SQL语句复习[专题九] 视图:View视图的概念:视图是从若干基本表或其他视图构造出来的表.在创建一个视图时,只是存放的视图的定义,也即是动态检索数据的查询语句,而并不存放视图对应的数据在用户使用视 ...
- sql语句复习(基础-提升-技巧-经典数据开发案例-sql server配置)
1 基础 1.说明:创建数据库 CREATE DATABASE database-name charset=utf8 2.说明:删除数据库 drop database dbname 3.说明:备份sq ...
随机推荐
- TOMCAT web.xml 整理说明
JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...
- 基于scrapy框架的爬虫
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. scrapy 框架 高性能的网络请求 高性能的数据解析 高性能的 ...
- python 粘包现象
一. 粘包现象 1. 粘包现象的由来(1)TCP属于长连接,当服务端与一个客户端进行了连接以后,其他客户端需要(排队)等待.若服务端想要连接另一个客户端,必须首先断开与第一个客户端的连接. (2)缓冲 ...
- vue后端返回路由表来进行权限管理,加载指定路由结构,不包含则不加载
创建vue项目,配置环境变量,后续需要用到.这里只配置生产环境和开发环境. 项目根目录创建 .env.production 文件 NODE_ENV=production VUE_APP_URL=htt ...
- axios中的qs介绍
首先qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装. 地址: https://www.npmjs.com/package/qs qs.parse().qs.string ...
- jQuery之替换节点
如果要替换节点,jQuery提供了两个方法:replaceWith()和replaceAll(). 两个方法的作用相同,只是操作颠倒了. 作用:将所有匹配的元素都替换成指定的HTML或者DOM元素.( ...
- CF444A DZY Loves Physics【结论】
题目传送门 话说这道题不分析样例实在是太亏了...结论题啊... 但是话说回来不知道它是结论题的时候会不会想到猜结论呢...毕竟样例一.二都有些特殊. 观察样例发现选中的子图都只有一条边. 于是猜只有 ...
- 【miscellaneous】多播(组播)原理分析
为什么要使用多播: 网卡从网络上接收到目标物理地址对应的所有bit位都为1的数据报时,会收到这条消息并将其上传给驱动程序,网卡的这种工作模式称为广播模式,网卡的缺省工作模式包含直接模式和 ...
- tar:归档中找不到 tar: 由于前次错误,将以上次的错误状态退出
今天解压ZendStudio-10.0.0-x86.tar.gz,使用命令tar -zxvf ZendStudio-10.0.0-x86.tar.gz ./然后报下面错误tar: /tm: 归档中找不 ...
- poj3122 Pie (二分)
题目链接:https://vjudge.net/problem/POJ-3122 题意:有n块饼,m+1个人,将饼均分成m+1块,求每块最大的大小. 思路:水二分,显然每块的大小与可以给多少人吃具有单 ...