mysql创建标示列_mysql - 标识列

本文介绍了MySQL中的标识列,也称自增长列,详细阐述了其特点和使用方法,包括创建时设置、修改表时设置及删除标识列。通过示例展示了如何插入数据、修改步长以及设置初始值,并探讨了标识列与主键的关系。
摘要由CSDN通过智能技术生成

#标识列

/*

又称为自增长列

含义:可以不用手动插入值,系统提供默认的序列值

特点:

1.表示列必须和主键搭配吗?不一定,但是要求是一个key

2.一个表中只能有一个标识列!

3.标识列的类型有限制吗?只能是数值类型(int,float,double)

4.标识列可以通过set auto_increment_increment=3;设置步长,

可以通过 手动插入值, 设置起始值

*/

#一、创建表时设置标识列

create table tab_identity(

id int primary key,

name varchar(20)

);

show tables;

# 插入数据

insert into tab_identity values(1,"john");

insert into tab_identity values(2,"lily");

#这里的id编号你需要手动输入

select * from tab_identity;

如果你想实现自动的插入id列,你需要

drop table if exists tab_identity;

create table tab_identity(

id int primary key auto_increment,

name varchar(20)

);

# 插入数据

insert into tab_identity values(null,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy")

# 查看变量auto_increment的参数

show variables like "%auto_increment%";

可以通过修改其实变量与步长来修改更新幅度

auto_increment_increment参数:步长

auto_increment_offset参数:起始位置

#修改步长

set auto_increment_increment=3;

show variables like "%auto_increment%";

#删除表中的数据

truncate table tab_identity;

select * from tab_identity;

#重新插入数据

insert into tab_identity values(null,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy")

这时候表中的id顺序为1,4,7,。。。。

#起始值是不支持类似步长的修改的,如何修改呢?

#删除表中的数据

truncate table tab_identity;

select * from tab_identity;

#重新插入数据

insert into tab_identity values(10,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy");

这时候表中的id顺序为10,13,16,。。。。

这个就对起始值进行了修改

#二、修改表时设置标识列(类似修改约束)

#准备表格

drop table if exists tab_identity;

create table tab_identity(

id int,

name varchar(20)

);

show variables like "%auto_increment%";

set auto_increment_increment=1;

desc tab_identity;

#设置标识列

alter table tab_identity modify column id int primary key auto_increment;

# 插入数据

insert into tab_identity values(null,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy");

#三、修改表时删除标识列

alter table tab_identity modify column id int;

show index from tab_identity;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值