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_studentoracle

数据库对象 -- 索引【索引的做用:用来加速检索数据的】
索引是被动使用的,若是某些字段被检索的频率比较高,那么就能够根据该字段生成对应的索引,来加速针对该字段的检索的速度
--索引的建立方式:
--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必须动态地更新索引。
③限制表中索引的数目。索引越多,在修改表时对索引作出修改的工做量越大
④并不是全部数据都适合于索引。惟一性很差的数据(如省)从索引获得的好处不比具备更多可能值的数据(如姓名)从索引获得的好处多
⑤索引用于数据过滤和数据排序。若是你常常以某种特定的顺序排序数据,则该数据多是索引的备选。
⑥能够在索引中定义多个列(如省加城市),这样的索引只在以省加城市的顺序排序时有用。若是想按城市排序,则这种索引没有用处。spa

小总结
一、约束
①域完整性约束:非空 not null 检查 check
②记录完整性约束:主键 primary key 惟一 unique
③参照完整性约束:外键 foreign key
④表级约束、列级约束(not null,只能列级)
二、删除主表的记录的时候,关于从表对主表字段引用的处理的方式
①受限制的 restrict 不容许删除。
②cascade:从表一并删除
③set null: 设置为null
三、序列:Sequence oracle 特有的数据库对象。
nextval(自增并返回)、currval(返回序列当前值)
四、index 索引。被动使用。为了加快 检索数据的速度。
①自动建立:主键 primary key + unique 。拥有这两种约束的字段,自动会给每个数据建立对象的索引。
②会下降,DML操做。
③若是重复的数据比较多(不建议)rest

相关文章
相关标签/搜索