mysql标识列(自增长列)

mysql标识列(自增长列)

直接po代码和案例

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


特点:
1、标识列必须和主键搭配吗?不一定,但要求是一个key
2、一个表可以有几个标识列?至多一个!
3、标识列的类型只能是数值型
4、标识列可以通过 SET auto_increment_increment=3;设置步长
可以通过 手动插入值,设置起始值


*/

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

DROP TABLE IF EXISTS tab_identity;
CREATE TABLE tab_identity(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(30)
);
TRUNCATE TABLE tab_identity;
SELECT * FROM tab_identity;
INSERT INTO tab_identity VALUES(NULL, 'tom');
INSERT INTO tab_identity(id, `name`) VALUES(NULL, 'jack');
INSERT INTO tab_identity(`name`) VALUES('jerry');

#mysql中的标识列不支持设置起始值,但是支持设置步长
#查看起始值和步长
SHOW VARIABLES LIKE '%AUTO_INCREMENT%'
SHOW VARIABLES LIKE '%auto_increment%';


#设置标识列的步长
SET auto_increment_increment = 3;
#SET @@auto_increment_increment = 5;

#
DESC tab_identity;
#
DROP TABLE IF EXISTS tab_identity2;
CREATE TABLE tab_identity2(
	id INT,
	`NAME` VARCHAR(30)
);
#二、修改表时设置标识列
ALTER TABLE tab_identity2 MODIFY COLUMN id INT PRIMARY KEY AUTO_INCREMENT;

#三、修改表时删除标识列
ALTER TABLE tab_identity2 MODIFY COLUMN id INT;


/*
MySQL之标识列(自增长列)
含义:可以不用手动插入的值,系统提供默认值。关键字AUTO_INCREMENT

特点:
    搭配对象不一定是主键,但是必须是一个key
    一个表最多只能有一个自增列
    该列类型只能为数值型
    通过该SQL查看起始值和步长:SHOW VARIABLES LIKE '%auto_increment%';
    可以通过手动插入该值的方法设置起始值,取巧方法,并非真正设置了起始值
    通过语句 :SET auto_increment_increment = 数值设置步长
*/

 

你可能感兴趣的:(mysql标识列(自增长列))