自動(dòng)增長、唯一鍵、索引、表關(guān)系、范式

1、自動(dòng)增長:auto_increment當(dāng)對(duì)應(yīng)的字段,不給值,或給默認(rèn)值、或給NULL值,會(huì)自動(dòng)的被系統(tǒng)觸發(fā),系統(tǒng)會(huì)從當(dāng)前字段中已有的最大值基礎(chǔ)上,再進(jìn)行+1操作,得到一個(gè)新的不同的數(shù)據(jù)

任何一個(gè)字段要做自增長,前提必須本身就是一個(gè)索引

自增長字段必須是數(shù)字,而且是整型

一張表最多只能有一個(gè)自增長

修改自增長:alter table 表名 auto_increment=值;

查看自增長對(duì)應(yīng)的變量:show variables like 'auto_increment%';

刪除自增長:alter table 表名 modify 字段 類型;

2、唯一鍵(unique key):默認(rèn)允許自動(dòng)為空,而且可以多個(gè)為空

增加唯一鍵:

方案一:在創(chuàng)建表的時(shí)候,字段之后直接跟unique / unique key

方案二:在所有的字段之后增加unique key(字段列表);

方案三:在創(chuàng)建表之后增加唯一鍵

刪除唯一鍵:alter table 表名 drop index 索引名字;

3、索引:系統(tǒng)根據(jù)某種算法,將已有的數(shù)據(jù),或未來可能新增的數(shù)據(jù),單獨(dú)建立一個(gè)文件,文件能夠?qū)崿F(xiàn)快速的匹配數(shù)據(jù),并且能夠快速地找到對(duì)應(yīng)表中的記錄

意義:提升查詢數(shù)據(jù)的效率、約束數(shù)據(jù)的有效性、唯一性等

創(chuàng)建:create [unique] index 索引名 on 表名(字段名(長度));

alter 表名 add [unique] index [索引名] on (字段名(長度));

刪除:drop index [索引名] on 表名;

查看:show index from 表名\G

使用alter命令添加數(shù)據(jù)表的索引:

alter table 表名 add primary key (字段列表):添加一個(gè)主鍵,意味著索引值必須是唯一且不為空

alter table 表名 add unique 索引名 (字段列表):創(chuàng)建索引的值必須是唯一的,允許NULL,且NULL可能會(huì)出現(xiàn)多次

alter table 表名 add fulltext 索引名 (字段列表):添加全文索引

alter table 表名 add index 索引名 (字段列表):添加普通索引,索引值可出現(xiàn)多次

4、表關(guān)系:

一對(duì)一: 一張表的一條記錄一定只能與另外一張表的一條記錄進(jìn)行對(duì)應(yīng),反之亦然

一對(duì)多:一張表中有一條記錄可以對(duì)應(yīng)另外一張表中的多條記錄,但是反過來,另外一張表的一條記錄只能對(duì)應(yīng)第一張表的一條記錄

多對(duì)多:一張A表中的一條記錄,能夠?qū)?yīng)B表中的多條記錄,同時(shí)B表中的一條記錄也能對(duì)應(yīng)A表中的多條記錄

5、范式:Normal Format,是一種離散數(shù)學(xué)中的知識(shí),是為了解決一種數(shù)據(jù)的存儲(chǔ)與優(yōu)化的問題,它的終極目標(biāo)是為了減少數(shù)據(jù)的冗余

范式是一種分層結(jié)構(gòu)的規(guī)范,分為六層:從低到高:1NF、2NF、3NF、……6NF

第一范式(1NF):要求字段的數(shù)據(jù)具有原子性

第二范式(2NF):要解決表的設(shè)計(jì)不允許出現(xiàn)部分依賴

第三范式(3NF):解決傳遞依賴的問題

逆規(guī)范化:磁盤利用率與效率的對(duì)抗

p:MySQL多種索引:

主鍵索引:primary key

唯一索引:unique key

全文索引:fulltext index

普通索引:index

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,952評(píng)論 0 9
  • 一、MySQL優(yōu)化 MySQL優(yōu)化從哪些方面入手: (1)存儲(chǔ)層(數(shù)據(jù)) 構(gòu)建良好的數(shù)據(jù)結(jié)構(gòu)??梢源蟠蟮奶嵘覀僑...
    寵辱不驚丶?xì)q月靜好閱讀 2,651評(píng)論 1 8
  • 手動(dòng)不易,轉(zhuǎn)發(fā)請(qǐng)注明出處 --Trance 數(shù)據(jù)庫系統(tǒng)命令: (1).查看存儲(chǔ)過程狀態(tài):show pro...
    Trance_b54c閱讀 1,828評(píng)論 0 8
  • 主鍵:primary key,主要的鍵,一張表只能有一個(gè)字段可以使用對(duì)應(yīng)的鍵,用來唯一的約束該字段里面的數(shù)據(jù),不能...
    BJ000閱讀 1,029評(píng)論 0 1
  • 面試題5:union all 和 union的區(qū)別 Union:對(duì)兩個(gè)結(jié)果集進(jìn)行并集操作,不包括重復(fù)行,同時(shí)進(jìn)行默...
    行者和他的鋼筆閱讀 1,044評(píng)論 0 1

友情鏈接更多精彩內(nèi)容