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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值