MySQL基础-18DDL语言(数据定义语言)-标识列(自增长列)

声明:此MySQL基础学习源自尚硅谷。(推荐)b站官方链接:https://www.bilibili.com/video/BV1xW411u7ax?p=1

标识列

又称为自增长列
含义:可以不用手动的插入值,系统提供默认的序列值

特点:
1、标识列必须和主键搭配吗?不一定,但要求自增长列必须为一个key
2、一个表至多有一个自增长列
3、标识列的类型只能是数值型
4、标识列可以通过 SET auto_increment_increment=3; # 设置步长
	可以通过 手动插入值,设置起始值
5、不用手动插入值,可以自动提供序列值,默认从1开始,步长为1
	auto_increment_increment
	如果要更改起始值:手动插入值
	如果要更改步长:更改系统变量 # set auto_increment_increment=值;

1.创建表时设置标识列

DROP TABLE IF EXISTS tab_identity;
CREATE TABLE tab_identity(
	id INT PRIMARY KEY AUTO_INCREMENT, # AUTO_INCREMENT标明是标识列
	NAME FLOAT UNIQUE,
	seat INT 

);
TRUNCATE TABLE tab_identity;

# id是自增长列,id值设为null每添加数据,id值自动增加
INSERT INTO tab_identity(id,NAME) VALUES(NULL,‘john‘);
# 省略列名id,每添加数据,id值自动增加
INSERT INTO tab_identity(NAME) VALUES(‘lucy‘);
# 查看系统变量
SHOW VARIABLES LIKE ‘%auto_increment%‘;

-- MySQL中不支持设置偏移量,没效果,但是可以设置步长
# 设置系统变量步长,每次增长3(一般不改)
SET auto_increment_increment=3;

MySQL基础-18DDL语言(数据定义语言)-标识列(自增长列)

-- 若想更改起始值,可以先设置从一个起始值开始,以后每次增长依然使用默认增长步长
# 如:从10开始
insert into 表名(id,字段) value (10,值);
insert into 表名(字段) value (值); # 至此id从10开始,每次增长1

2.修改表时设置自增长列

alter table 表 modify column 字段名 字段类型 约束 auto_increment;

3.删除自增长列

alter table 表 modify column 字段名 字段类型 约束;

MySQL基础-18DDL语言(数据定义语言)-标识列(自增长列)

上一篇:mysql事务


下一篇:Mysql基础常识