sql-自动增长的列

mysql自动增长

如果某一列是数值类型的,使用 auto_increment 可以来完成值得自动增长

方式1:创建表时,添加主键约束,并且完成主键自增长
create table stu(
	id int primary key auto_increment, -- 给id添加主键约束
	name varchar(20)
);

方式2:创建完表之后添加自动增长
ALTER TABLE stu MODIFY id INT AUTO_INCREMENT;

ALTER TABLE stu MODIFY id INT; -- 删除自动增长

oracle使用序列实现自增长

序列 可以实现自动增长

序列的两个属性:

  • nextval:指向下一个元素
  • currval:指当前一个元素

创建序列

create sequence 序列名
increment by 步长 
start with 初始值
maxvalue|nomaxvalue 
minvalue|nominvalue  
cycle|nocycle         
cache 3|no cache

create sequence myseq ; -- [1] 2 3 4 5 6

修改序列

【alter】 sequence 序列名
increment by 步长2
start with 初始值
maxvalue|nomaxvalue 
minvalue|nominvalue  
cycle|nocycle         
cache  3|no cache
  • 注意:修改序列 只会影响修改以后的值。

删除序列

drop sequence 序列名;

drop sequence myseq;

裂缝

  • 使用序列,有可能产生裂缝:
  • 系统异常、回滚、多表使用同一个序列

oracle中的索引

image

(索引表中rowid不一定连续,但是可以通过算法快速定位rowid)

Oracle中的索引类型: B树索引(默认)、位图索引(矩阵索引)

posted @ 2022-06-21 23:32  姬雨晨  阅读(827)  评论(0编辑  收藏  举报