MySQL入门 DDL语言之十六:标识列
#标识列
/*
又陈自增长列
含义:可以不用手动的插入值,系统提供默认的序列值
特点:
1、标识列必须和主键搭配吗?
不一定,但要求是一个key
2、一个表中可以有多少个标识列?
只能有一个
3、标识列类型只能是数值型(一般使用int)
4、标识列可以通过 SET auto_increment_increment = 3;设置步长
可以通过 手动插入值,设置起始值
*/
#一、创建表时设置标识列
DROP TABLE IF EXISTS tab_identity;
CREATE TABLE tab_identity(
id INT PRIMARY /*unique*/ KEY AUTO_INCREMENT,
NAME VARCHAR(20)
);
TRUNCATE TABLE tab_identity;
INSERT INTO tab_identity VALUES(NULL,'john');
INSERT INTO tab_identity (NAME) VALUES('nace');
SELECT * FROM tab_identity;
SHOW VARIABLES LIKE '%auto_increment%';
/*
auto_increment_increment:步长,自增量
auto_increment_offset:偏移量,表示起始值,mysql中不支持设置
*/
SET auto_increment_increment = 3;
#二、修改表时设置标识列
CREATE TABLE tab_identity(
id INT,
NAME VARCHAR(20)
);
ALTER TABLE tab_identity MODIFY COLUMN id INT PRIMARY KEY AUTO_INCREMENT;
DESC tab_identity;
#二、修改表时删除标识列
ALTER TABLE tab_identity MODIFY COLUMN id INT PRIMARY KEY;