#標識列
又稱為自增長列
含義:可以不用手動插入值,系統提供預設的序列值
特點: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 ...