MySQL資料庫8(九)列屬性之主鍵、自增長

來源:互聯網
上載者:User

標籤:auto   插入資料   選項   mysql資料庫   資料庫   邏輯   ble   variables   適用於   

主鍵

顧名思義,主要的鍵,primary key,在一張表中,有且只有一個欄位,裡面的值具有唯一性

建立主鍵

隨表建立

系統提供了兩種增加主鍵的方式:

1、直接在需要當做主鍵的欄位之後,增加primary key屬性來確定主鍵

2、在所有欄位之後增加primary key選項:primary key(欄位資訊)

 

 

表後增加

基本文法:alter table 表名 add primary key(欄位);

 

 

查看主鍵

方案1: 查看錶結構

 

 

方案2:查看錶的建立語句

 

 

刪除主鍵

基本文法:alter table 表名 drop primary key;

 

複合主鍵

 

 

主鍵約束

主鍵一旦增加,那麼對對應的欄位資料有要求:

1、當前欄位對應的資料不可為空。

2、當前欄位對應的資料不能有任何重複

 

主鍵分類

主鍵分類採用的是主鍵所對應的欄位的業務意義分類:

業務主鍵:主鍵所在的欄位,具有業務意義(學生ID,課程ID)

邏輯主鍵:自然增長的整型(應用廣泛)

 

自增長

自動成長:auto increment,當給定某個欄位的屬性之後,該列的資料在沒有提供確定資料的時候,系統會根據之前已經存在的資料進行自動增加後,填充資料

 

通常自動成長用於邏輯主鍵

原理

自動成長的原理:

1、在系統中有維護一組資料,用來儲存當前使用了自動成長屬性的欄位,記住當前對應的資料值,在給定一個指定的步長。

2、當使用者進行資料插入的時候,如果沒有給定值,系統在原始值上加上步長變成新的資料

3、自動成長的觸發:給定屬性的欄位沒有提供值

4、自動成長只適用於數值

 

使用自動成長

基本文法:在欄位之後增加一個屬性 auto_increment;

 

 

插入資料:觸發自動成長,不能給定具體值(可以給null)

 

 

修改自動成長

1、查看自增長:自增長一旦觸發使用後,會自動地在表選項中增加一個選項(一張表最多隻能擁有一個自增長)

 

 

2、表選項可以通過修改表結構來實現

基本文法:alter table 表名 auto_increment = 值;

 

 

刪除和增加自動成長

刪除自增長:就是在欄位屬性之後不再保留auto_increment,當使用者修改自增長所在欄位時,如果沒有看到auto_increment屬性,系統會自動清除該自增長。

刪除自增長:alter table my_auto modify id int;

增加自增長:alter table my_auto modify id int auto_increment;

 

 

 

初始設定

在系統中,有一組變數用來維護自增長的初始值和步長

查看:show variables like ‘auto_increment%’;

 

 

修改自增長步長和初始值:

set auto_increment_increment = 值;

set auto_increment_offset = 值;

 

 

細節問題

1、一張表中只有一個自增長,:自增長會上升到表選項中。

2、如果資料插入中沒有觸發自增長(給定了資料),那麼自增長不會表現,使用者指定資料之後,自增長不參與,但是自增長默默根據目前使用者設定的值初始化下一個值。

3、自增長在修改的時候,值可以較大,但是不能比當前已有的自增長欄位的值小。

MySQL資料庫8(九)列屬性之主鍵、自增長

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.