mysql創標識列語句 mysql 標識列

2021-10-17 20:35:39 字數 2440 閱讀 7392

#標識列

又稱為自增長列

含義:可以不用手動插入值,系統提供預設的序列值

特點:1.表示列必須和主鍵搭配嗎?不一定,但是要求是乙個key

2.乙個表中只能有乙個標識列!

3.標識列的型別有限制嗎?只能是數值型別(int,float,double)

4.標識列可以通過set auto_increment_increment=3;設定步長,

可以通過 手動插入值, 設定起始值

#一、建立表時設定標識列

create table tab_identity(

id int primary key,

name varchar(20)

show tables;

# 插入資料

insert into tab_identity values(1,"john");

insert into tab_identity values(2,"lily");

#這裡的id編號你需要手動輸入

select * from tab_identity;

如果你想實現自動的插入id列,你需要

drop table if exists tab_identity;

create table tab_identity(

id int primary key auto_increment,

name varchar(20)

# 插入資料

insert into tab_identity values(null,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy")

# 檢視變數auto_increment的引數

show variables like "%auto_increment%";

可以通過修改其實變數與步長來修改更新幅度

auto_increment_increment引數:步長

auto_increment_offset引數:起始位置

#修改步長

set auto_increment_increment=3;

show variables like "%auto_increment%";

#刪除表中的資料

truncate table tab_identity;

select * from tab_identity;

#重新插入資料

insert into tab_identity values(null,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy")

這時候表中的id順序為1,4,7,。。。。

#起始值是不支援類似步長的修改的,如何修改呢?

#刪除表中的資料

truncate table tab_identity;

select * from tab_identity;

#重新插入資料

insert into tab_identity values(10,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy");

這時候表中的id順序為10,13,16,。。。。

這個就對起始值進行了修改

#二、修改表時設定標識列(類似修改約束)

#準備**

drop table if exists tab_identity;

create table tab_identity(

id int,

name varchar(20)

show variables like "%auto_increment%";

set auto_increment_increment=1;

desc tab_identity;

#設定標識列

alter table tab_identity modify column id int primary key auto_increment;

# 插入資料

insert into tab_identity values(null,"john");

insert into tab_identity values(null,"lily");

insert into tab_identity(name) values("lucy");

#三、修改表時刪除標識列

alter table tab_identity modify column id int;

show index from tab_identity;

DDL語句(六) 標識列

標識列 自增長列 特點 1 不用手動插入值,可以自動提供序列值,預設從1開始,補償為1 auto increment increment 如果要更改起始值,手動插入值 如果要更改步長,更改系統變數。set auto increment increment 值 2 乙個表至多有乙個自增長列 3 自增長...

MySQL 筆記 標識列

又稱為自增長列 auto increment 含義 可以不用手動的插入值,系統提供預設的序列值 特點 1 標識列必須和主鍵搭配嗎?不一定,但要求是乙個key 2 乙個表中可以有幾個識別符號?最多乙個!3 標識列的型別只能是數值型int double float 4 標識列可以通過 set auto ...

MySQL基礎 標識列

mysql的標識列 又稱為自增長列 含義 可以不用手動的插入值,系統提供預設的序列值特點 1.標識列必須和主鍵搭配嗎?不一定,但要求是必須有乙個key 2.乙個表可以有幾個標識列?至多乙個!3.標識列的型別只能是數值型 4.標識列可以通過set auto increment increment 3 ...