mysql标识列

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


特点:
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 = 数值设置步长
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值