好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的區(qū)別

MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的區(qū)別

熱門標簽:沈陽電銷外呼系統(tǒng)原理是什么 成都優(yōu)派外呼系統(tǒng) 上海智能外呼系統(tǒng)代理商 扎樣申請400電話 寧波企業(yè)外呼系統(tǒng)收費 聊城智能外呼系統(tǒng)運營商 地圖標注人員兼職 電子地圖標注電話 ps制作地圖標注gif

對于題目中提出的問題,可以拆分來一步步解決。在 MySQL 中 KEY 和 INDEX 是同義。那這個問題就可以簡化為 PRIMARY KEY,UNIQUE KEY 和 INDEX 的區(qū)別。而這三者也正好是索引的劃分,主鍵索引,唯一索引和普通索引(INDEX)。

使用 INDEX 來加速從數據庫中讀取數據。INDEX 通常加在那些 JOIN, WHERE,和 ORDER BY 子句的列上。

創(chuàng)建索引時,需要確保該索引是應用在 SQL 查詢語句的條件(一般作為 WHERE 子句的條件)。 實際上,索引也是一張表,該表保存了主鍵與索引字段,并指向實體表的記錄。

索引也有它的缺點:雖然索引提高了查詢速度,卻會降低更新表的速度,如對表進行INSERT、UPDATE和DELETE。因為更新表時,MySQL不僅要保存數據,還要保存一下索引文件。

MySQL 中 KEY 與 INDEX 區(qū)別

KEY 通常是 INDEX 同義詞。如果關鍵字屬性 PRIMARY KEY 在列定義中已給定,則 PRIMARY KEY 也可以只指定為KEY。這么做的目的是與其它數據庫系統(tǒng)兼容。 PRIMARY KEY 是一個唯一 KEY,此時,所有的關鍵字列必須定義為NOT NULL。如果這些列沒有被明確地定義為NOT NULL,MySQL應隱含地定義這些列。

KEY 即鍵值,是關系模型理論中的一部份,比如有主鍵(PRIMARY KEY),外鍵(Foreign KEY)等,用于數據完整性檢否與唯一性約束等。而 INDEX 則處于實現層面,比如可以對表個的任意列建立索引,那么當建立索引的列處于SQL語句中的Where條件中時,就可以得到快速的數據定位,從而快速檢索。至于UNIQUE INDEX,則只是屬于INDEX中的一種而已,建立了UNIQUE INDEX表示此列數據不可重復,猜想MySQL對UNIQUE INDEX類型的索引可以做進一步特殊優(yōu)化吧。

于是,在設計表的時候,KEY只是要處于模型層面的,而當需要進行查詢優(yōu)化,則對相關列建立索引即可。

KEY

KEY 是數據庫的物理結構,包含兩層含義,一是約束,偏重于約束和規(guī)范數據庫的結構完整性,二是索引,輔助查詢。
•primary key 有兩個作用,一是約束作用(constraint),用來規(guī)范一個存儲主鍵和唯一性,但同時也在此key上建立了一個index;
•unique key 也有兩個作用,一是約束作用(constraint),規(guī)范數據的唯一性,但同時也在這個key上建立了一個index;
•foreign key也有兩個作用,一是約束作用(constraint),規(guī)范數據的引用完整性,但同時也在這個key上建立了一個index;

可見,key是同時具有constraint和index的意義.

INDEX

INDEX 也是數據庫的物理結構,但他只有輔助查詢作用,它會在創(chuàng)建時占用另外的空間。索引分為前綴索引、全文索引等。索引只是索引,不會去約束索引字段的行為。

PRIMARY KEY 和 UNIQUE KEY 的區(qū)別

PRIMARY KEYs(主鍵) 和 UNIQUE KEYs(唯一鍵約束) 是類似的, PRIMARY KEY通常是一列,也有可能多列,通常由他來決定一行數據(row)。 一張表只能有一個 PRIMARY KEY,但可以有很多 UNIQUE KEY。 當給一列設置為 UNIQUE KEY 之后,不能有兩行在該列上有相同的數據。 PRIMARY KEY 不允許有 NULL值,但是 UNIQUE KEY 可以。

修改表 `ALTER TABLE table_name ADD PRIMARY KEY(column_name, …)

總結,相同點:
•PRIMARY KEY 和 UNIQUE KEY 都是用來保證列上數據的為原型
•都可以在一列或者多列上加

差異點:
•同一張表 PRIMARY KEY 只能有一個, UNIQUE KEY可以有多個

PRIMARY KEY 不能有空值, UNIQUE KEY 可以有。如果 PRIMARY KEY 的1個或多個列為NULL,在增加PRIMARY KEY時,列自動更改為 NOT NULL 。而UNIQUE KEY 對列沒有要求是通過參考索引實施的,如果插入的值均為NULL,則根據索引的原理,全NULL值不被記錄在索引上,所以插入全NULL值時,可以有重復的,而其他的則不能插入重復值。

alter table t add constraint uk_t_1 UNIQUE (a,b); insert into t (a ,b ) values (null,1); # 不能重復 insert into t (a ,b ) values (null,null);#可以重復

在MySQL中,對于一個PRIMARY KEY的列,MySQL已經自動對其建立了UNIQUE INDEX,無需重復再在上面建立索引了。

網上關于 PRIMARY KEY 和 UNIQUE INDEX 的一段解釋:

Note that “PRIMARY” is called PRIMARY KEY not INDEX.
KEY is something on the logical level, describes your table and database design (i.e. enforces referential integrity …)
INDEX is something on the physical level, helps improve access time for table operations.
Behind every PK there is (usually) UNIQUE INDEX created (automatically).

操作索引

建立索引會占用磁盤空間的索引文件。
CREATE INDEX IndexName ON mytable(username(length));

如果是 CHAR,VARCHAR 類型,length 可以小于字段實際長度;如果是 BLOB 和 TEXT類型,必須指定 length。

在創(chuàng)建表時創(chuàng)建索引:

CREATE TABLE mytable( 
 ID INT NOT NULL,  
 username VARCHAR(15) NOT NULL,
 INDEX [INDEXName] (username(length)) 
);

刪除索引


DROP INDEX [INDEXName] ON mytable;

您可能感興趣的文章:
  • Spring實戰(zhàn)之Qualifier注解用法示例
  • PHP Primary script unknown 解決方法總結
  • MySQL中Multiple primary key defined報錯的解決辦法
  • SQLSERVER聚集索引和主鍵(Primary Key)的誤區(qū)認識
  • mysql #1062 –Duplicate entry ''1'' for key ''PRIMARY''
  • MySQL里Create Index 能否創(chuàng)建主鍵 Primary Key
  • Spring @Primary和@Qualifier注解原理解析

標簽:內江 汕頭 宿州 林芝 朔州 咸寧 AXB 三明

巨人網絡通訊聲明:本文標題《MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的區(qū)別》,本文關鍵詞  MySQL,中,KEY,PRIMARY,UNIQUE,INDEX,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的區(qū)別》相關的同類信息!
  • 本頁收集關于MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的區(qū)別的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 岳好紧好湿夹太紧了小说| 另类小说 色综合网站| xxxxx性欧美hd另类| 无限好资源第一片免费韩国| 校花?一开让我爽一夜| 亚洲中文无码亚洲人成宅男666| 热re91久久精品国产91热 | 日本ⅩXX色在线观看软件| 四虎地址8848精品| 久在草视频| 黄色网站在线视频| 免费无码毛片一区二区A片小说| 和老板在办公室BD高清在线观看| 伊人五月婷| 三上悠亚超清无在线观看| 99热色| 成人a区| 满嘴含精大口吞精了会怀孕吗| 性感远征队| 5个男人躁我一个爽的更新时间 | 娇妻嗯啊| 日韩一级欧美一级| 总攻一主多奴H| 国产偷窥熟女精品视频大全| 美女掰开逼| 把老师操了| 97综合精品无码人妻国色天香 | 嗯~哈~| 会痛的17岁免费播放| 胸大美女又黄又www国产网站| 成人天堂18禁Av视频网站| 一色屋成人免费精品网 | 国产精品秘?麻豆入囗29| 国产精品白丝喷水在线观看 | 一二三四在线观看免费中文版高清下载 | 啊轻点灬大ji巴太粗太长了小| 太粗太长太猛受不了了| 99久久国产精品成人观看| 国产午夜嘿嘿嘿视频在线观看| 杨超越ai造梦| 性欧美videofree另类孕妇|