MySQL序列的使用--初级

MySQL序列的使用


在使用MySQLS数据库的时候,经常使用序列(Sequence)来处理主键字段,在MySQL中是没有序列的,但是MySQL提供了自增长(increment)来实现类似的目的,但也只是自增,而不能设置步长、开始索引、是否循环等。如果需要两个或两个以上的字段实现自增,那就需要创建序列表了,这里我就简单说明一下increment的使用来实现序列功能。内容如下:


使用AUTO_INCREMENT

create table t_student(
id int(6) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),
age int(6),
score int(6),
enterdate datetime
)
insert into t_student(id,name,age,score,enterdate) values(null,张三,18,98,2016-9-17);
insert into t_student(id,name,age,score,enterdate) values(null,李四,19,98,2016-9-17);
insert into t_student(id,name,age,score,enterdate) values(null,王五,20,98,2011-2-12);
insert into t_student(id,name,age,score,enterdate) values(null,白六,21,98,2015-12-07);

这样我们就实现了序列的使用。


重置序列

如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现。 不过该操作要非常小心,如果在删除的同时又有新记录添加,有可能会出现数据混乱。

alter table t_student DROP id;

alter table t_student
add id int(6) auto_increment FIRST,
add PRIMARY KEY (id);

设置序列的开始值

一般情况下序列的开始值为1,但如果你需要指定一个开始值,那我们可以通过以下语句来实现:

create table t_student(
id int(6) PRIMARY KEY AUTO_INCREMENT=100,
name VARCHAR(20),
age int(6),
score int(6),
enterdate datetime
)

或者你也可以在表创建成功后,通过以下语句来实现:

alter table t_student AUTO_INCREMENT = 100;
经验分享 程序员 微信小程序 职场和发展