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语句复习【专题八】的更多相关文章

  1. SQL语句复习【专题一】

    SQL语句复习[专题一] --创建用户 scott 并设置密码为 tiger create user scott identified by tiger --用户刚刚创建没有任何的权限,连登录的权限都 ...

  2. SQL语句复习【专题二】

    SQL语句复习[专题二] 单行函数(日期.数学.字符串.通用函数.转换函数)多行函数.分组函数.多行数据计算一个结果.一共5个.sum(),avg(),max(),min(),count()分组函数  ...

  3. SQL语句复习【专题三】

    SQL语句复习[专题三] DML 数据操作语言[insert into update delete]创建表 简单的方式[使用查询的结果集来创建一张表]create table temp as sele ...

  4. SQL语句复习【专题四】

    SQL语句复习[专题四] 多表查询 sql 92多表查询 sql92.sql99 标准--查询所有员工的姓名,部门编号,部门名称select * from empselect * from dept- ...

  5. SQL语句复习【专题五】

    SQL语句复习[专题五] 单行子查询:只会得到一个结果的子查询[子查询的内容必须放在小括号中.在查询语句中的查询语句 ]--查询所有比 CLARK 员工 工资高的员工--1.先查询 CLARK 员工的 ...

  6. SQL语句复习【专题六】

    SQL语句复习[专题六] 用户 + 创建表  --创建一个新的用户,然后给新的用户创建一张表,然后给表中添加一些数据.查询表中的数据 --创建用户需要比较大的权限 DBA create user di ...

  7. SQL语句复习【专题七】

    SQL语句复习[专题七] 完整性约束分类1)域完整性约束(非空not null,检查check)2)实体完整性约束(唯一unique,主键primary key)3)参照完整性约束(外键foreign ...

  8. SQL语句复习【专题九】

    SQL语句复习[专题九] 视图:View视图的概念:视图是从若干基本表或其他视图构造出来的表.在创建一个视图时,只是存放的视图的定义,也即是动态检索数据的查询语句,而并不存放视图对应的数据在用户使用视 ...

  9. sql语句复习(基础-提升-技巧-经典数据开发案例-sql server配置)

    1 基础 1.说明:创建数据库 CREATE DATABASE database-name charset=utf8 2.说明:删除数据库 drop database dbname 3.说明:备份sq ...

随机推荐

  1. Centos安装openjdk

    转载自:https://blog.csdn.net/youzhouliu/article/details/51183115 openjdk在linux各个平台下安装源中可以找到. 命令查找安装源中有什 ...

  2. Linux系统管理_主题01 :初识Linux_1.5 与Linux进行交互_echo_nano_Tab_whoami

    [root@izkfv3zmvcl0omz ~]# 其中,'root'为登录用户名,'izkfv3zmvcl0omz'为登录主机名,’~’ 表示当前用户正处在 root 用户的 家目录中,’#’则表示 ...

  3. linux之反向代理,反向代理实例,负载均衡实例

    目录 nginx反向代理 1. 概述 2. 反向代理服务器的工作原理 (1)作为内容服务器的替身 (2)作为内容服务器的负载均衡器 二. nginx反向代理实例 1.前期准备 2.代理服务器配置 3. ...

  4. something about gdb

    1 gdb 基础命令 b(break):    添加断点 r(run):  重头开始运行程序 n(next): 下一步 c(continue):  程序继续运行,直到下一处断点,或者程序运行到结束 q ...

  5. prometheus 监控elasticsearch

    1.安装: 如果有elk单独用户,切换到该用户下, wget下载,进入到es安装目录,执行 ./elasticsearch-plugin install file://$(pwd)/../../ela ...

  6. C# PC版微信消息监听自动回复

    最近有个微商客户需要搞个 个人微信监听群消息关键字并实现自动回复功能, 因为他有很多群  很多买家咨询的话 一个个回复太麻烦, 客户要求 比如群里有人发 关键字 产品1  则自动回复产品1的相关描述 ...

  7. Archlinux开启ssh服务命令

    Archlinux开启ssh服务命令: systemctl enable sshd.service 开机启动 systemctl start sshd.service 立即启动 systemctl r ...

  8. 小记--------spark资源调度机制源码分析-----Schedule

    Master类位置所在:spark-core_2.11-2.1.0.jar的org.apache.spark.deploy.master下的Master类 /** * driver调度机制原理代码分析 ...

  9. python读写增删修改ini配置文件

    一,百度百科 .ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的 ...

  10. websocket vue

    /* eslint-disable */ let tt; let count = 1; let lockReconnect = false; function isJsonString(str) { ...