序列:
用来生成唯一数字值的数据库对象
序列的值由Oracle按照递增或递减顺序自动生成,通常用来自动产生表的主键值,是一种高效率获得唯一键值的途径
序列是独立的数据库对象,和表是独立的对象,序列并不依附于表
通常,一个序列为一个表提供主键,单一个序列也可以为多个表提供主键值
创建序列: DDL
CREATE SEQUENCE sequence_name
START WITH i 开始编号
INCREMENT BY j 步进
MAXVALUE m 上限
MINVALUE n 下限
CYCLE/NOCYCLE 是否循环
CREATE SEQUENCE seq_emp_id
START WITH 1
INCREMENT BY 1
--使用徐磊为EMP表的主键提供值
INSERT INTO emp(empno,ename,sal,job)
VALUES(seq_emp_id.NEXTVAL,'zhang',3000,'MANAGER')
删除序列:
DROP SEQUENCE seq_name
索引:
CREATE INDEX ON table_name(cols)
索引创建后是数据库自动应用的,
删除索引:
DROP
合理使用索引,加快检索速度, 常用的,数据量大的
约束:
约束条件包括: NOT NULL 非空 UNIQUE 唯一 Primary Key 主键 Foreign Key 外键 Check 检查
取消非空约束: ALTER TABLE table_name MODIFY (cols null)