sql其它数据库对象

其它数据库对象

–数据库对象

–1).表table:数据的主要存储结构,由行和列组成

–2).视图view :存储起来的SELECT语句,基于表创建的

–3).序列sequence :提供一系列有规律的数值。通常主键提供表的主键所作用的列的值

–4).索引index:提高查询表的效率

–5).同义词synonym:可以提供数据库对象的别名

序列sequence:

序列: 可供多个用户用来产生唯一数值的数据库对象 自动提供唯一的数值 共享对象 主要用于提供主键值 将序列值装入内存可以提高访问效率

–1.序列

create sequence num _seq

start with 1

increment by 10

maxvalue 100

cycle//

nocache;//cache

sequence的两个主要的属性:

nextval(获取序列的下一个值) 和 currval(获取序列的当前值)

–在首次调用currval之前,必须调用nextval初始化

–sequence 在修改的时候不能修改 start with 属性, 也就是除了不能修改序列的初始化值以外,其它的内容都可以修改。

select num_seq.currval

from dual;

select num_seq.nextval

from dual;

–创建一个表table,给emp表的主键作用的列提供值

create table emp(

id number(10),

name varchar2(15),

constraint emp_id_pk primary key(id)

);

–序列的创建

create sequence emp_seq

start with 1

increment by 1

nocycle

nocache;

insert into emp(id,name)

values(emp_seq.nextval,’CC’);

–修改序列

alter sequence emp_seq

increment by 20;

–序列存在的问题:裂缝。①出现了回滚 ② 多个表共用一个序列③出现了异常

–2.索引index

–2.1作用:能够提高查询表的效率

–2.2弊端:如果频繁的对表进行修改的话,在修改的同时,还要维护一个索引的修改,

      --会产生碎片化的文件。建议:在DML(增删改)之前先删掉index,操作完以后,再添加

–2.3如何创建索引:

–自动创建:在定义 primary key 或 unique 约束后系统自动在相应的列上创建唯一性索引

–手动创建:create index

create index emp_name_index –索引作用在表的列上

on emp(name);

select * from emp–当将这个列作为查询条件时,系统会自动调用其上的索引

where name = ‘BB’;

–删除索引

drop index emp_name_idx;

–3.同义词 synonym

select * from employees;

create synonym e

for employees;

select * from e;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值