Advertisement

mysql:标识列(自增长列)

阅读量:

文章目录

  • 一.概述
  • 二.创建表时添加自增长列
  • 三.修改表时添加自增长列
  • 四.修改表时删除自增长列

一.概述

1.含义:可以不用手动插入值,系统提供默认的序列值
2.特点:
1).标识列不一定必须和主键搭配,但要求是一个key(主键、unique、外键)
2).一个表最多有一个标识列
3).标识列的类型只能是数值型(int float double等)
4).标识列可以通过 set auto_increment_increment=XX设置步长;也可以通过手动插入值设置起始值
3.查看自增列的设置情况:
语法:
show variables like ‘auto_increment’;
在这里插入图片描述
auto_increment_increment表示步长
auto_increment_offset表示是否开启自增长,1表示开启

二.创建表时添加自增长列

复制代码
    DROP TABLE IF EXISTS idol_id;
    CREATE TABLE idol_id(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(20) NOT NULL);
    INSERT INTO idol_id VALUES(NULL,'wyb');
    SELECT * FROM idol_id;
    
    
      
      
      
      
      
      
    
在这里插入图片描述
复制代码
    INSERT INTO idol_id(NAME) VALUES('xz');
    
    
      
    
在这里插入图片描述
复制代码
    INSERT INTO idol_id VALUES(5,'hjy'); #自己设置值也是可以的
    INSERT INTO idol_id VALUES(NULL,'zql');
    
    
      
      
    

在这里插入图片描述
我们把步长设置为4,第一个值设置为5:
(步长重新设置之后,必须重新建表才能体现,原来的表,步长依然为1)

复制代码
    SET auto_increment_increment = 4;
    DROP TABLE IF EXISTS idol_id;
    CREATE TABLE idol_id(
    id INT PRIMARY KEY AUTO_INCREMENT,
    NAME VARCHAR(20) NOT NULL);
    INSERT INTO idol_id VALUES(5,'wyb');
    INSERT INTO idol_id(NAME) VALUES('xz');
    SELECT * FROM idol_id;
    
    
      
      
      
      
      
      
      
      
    
在这里插入图片描述

三.修改表时添加自增长列

复制代码
    DROP TABLE IF EXISTS idol_id;
    CREATE TABLE idol_id(
    id INT PRIMARY KEY,
    NAME VARCHAR(20) NOT NULL);
    
    ALTER TABLE idol_id MODIFY COLUMN id INT AUTO_INCREMENT;#primary key 在创建表的时候就添加了,所以这里不用再写了。如果创建表的时候没有添加primary key(或者foreign key 或者unique)那么在这里就必须先添加了key后才能添加自增长列(就是在auto_increment前面加primary key)
    
    
      
      
      
      
      
      
    

四.修改表时删除自增长列

复制代码
    ALTER TABLE idol_id MODIFY COLUMN id INT;
    
    
      
    
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~