1. 程式人生 > >mysql 建立 主鍵索引 唯一索引 全文索引 多列索引 新增索引

mysql 建立 主鍵索引 唯一索引 全文索引 多列索引 新增索引

檢視索引  show index from 資料庫表名

alter table 資料庫add index 索引名稱(資料庫欄位名稱)

PRIMARY KEY(主鍵索引)

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

UNIQUE(唯一索引)

ALTER TABLE `table_name` ADD UNIQUE (`column`)

INDEX(普通索引)
mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

FULLTEXT(全文索引)
ALTER TABLE `table_name` ADD FULLTEXT ( `column` )
多列索引
ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` ) 1.普通索引。
這是最基本的索引,它沒有任何限制。它有以下幾種建立方式:
(1)建立索引:CREATE INDEX indexName ON tableName(tableColumns(length));如果是CHAR,VARCHAR型別,length可以小於欄位實際長度;如果是BLOB 和 TEXT 型別,必須指定length,下同。
(2)修改表結構:ALTER tableName ADD INDEX [indexName] ON (tableColumns(length)) 
(3)建立表的時候直接指定:CREATE TABLE tableName ( [...], INDEX [indexName] (tableColumns(length)) ;

2.唯一索引。
它與前面的"普通索引"類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種建立方式:
(1)建立索引:CREATE UNIQUE INDEX indexName ON tableName(tableColumns(length))
(2)修改表結構:ALTER tableName ADD UNIQUE [indexName] ON (tableColumns(length))
(3)建立表的時候直接指定:CREATE TABLE tableName ( [...], UNIQUE [indexName] (tableColumns(length));

3.主鍵索引
它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時建立主鍵索引:CREATE TABLE testIndex(i_testID INT NOT NULL AUTO_INCREMENT,vc_Name VARCHAR(16) NOT NULL,PRIMARY KEY(i_testID)); 當然也可以用ALTER命令。

相關推薦

mysql 建立 索引 唯一索引 全文索引 索引 新增索引

檢視索引  show index from 資料庫表名 alter table 資料庫add index 索引名稱(資料庫欄位名稱) PRIMARY KEY(主鍵索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) UNIQUE(唯一索

mysql索引唯一索引、聯合索引的區別(索引建立原則和注意事項)

索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索

MySQL(primary key)和唯一索引(unique index)區別

主鍵一定是唯一性索引,唯一性索引並不一定就是主鍵。  所謂主鍵就是能夠唯一標識表中某一行的屬性或屬性組,一個表只能有一個主鍵,但可以有多個候選索引。因為主鍵可以唯一標識某一行記錄,所以可以確保執行資料更新、刪除的時候不會出現張冠李戴的錯誤。主鍵除了上述作用外,常常與外來鍵構成

mysql中,索引唯一索引,聯合索引的區別

索引是一種特殊的檔案(InnoDB資料表上的索引是表空間的一個組成部分),它們包含著對資料表裡所有記錄的引用指標。 普通索引(由關鍵字KEY或INDEX定義的索引)的唯一任務是加快對資料的訪問速度。 普通索引允許被索引的資料列包含重複的值。如果能確定某個資料列將只包含彼此各

mysql索引的總結。

1、mysql的主鍵和外來鍵的區別 主鍵是用來唯一標識表中一條記錄的。 主鍵不允許為null 主鍵是唯一的 一個表只能有一個主鍵。 外來鍵是在兩個表之間建立連線的,一個表可以有一個或者多個外來鍵,外來鍵主要作用是保證資料引用的完整性 可以允許為null,若是不為null的話,則必須是子表的主

同時建立 PRIMARY KEY 與聚集索引 Clustered Index 的先後順序

                主鍵(PRIMARY KEY)與聚集索引(Clustered Index)的對比可以參看我之前的部落格:SQL Server 索引基礎知識(4)----主鍵與聚集索引   一個表最多一個主鍵,最多一個聚集索引。  資料庫在建立主鍵同時,會自動建立一個唯一索引。如果這個表之前沒有

PRIMARY KEY & UNIQUE(唯一索引

這裡是修真院後端小課堂,每篇分享文從 【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴充套件思考】【更多討論】【參考文獻】 八個方面深度解析後端知識/技能,本篇分享的是: 【PRIMARY KEY & UNIQUE(主鍵、唯一索引)】   P

資料庫設計中是設計聯合還是唯一索引+單一好?

在一個表中user_id和type兩個欄位唯一確定一條記錄,那麼在設計中是將這兩個欄位設計為聯合主鍵呢,還是建立一個邏輯主鍵id,而將這兩個欄位設計為唯一索引呢?這兩種方式有什麼區別?哪個更好呢?具體還

唯一索引有什麼區別

CREATE TABEL T( ID INT ); CREATE UNIQUE INDEX T_INDEX_ID ON T(ID); 和 CREATE TABEL T( ID INT PRIMARY KEY );   主鍵是表中的一個或多個欄位,它的值用於惟一地標識表中的某一條記錄.;使用索引可快速訪問資料

唯一唯一索引的區別

一般,我們看到術語“索引”和“鍵”交換使用,但實際上這兩個是不同的。索引是儲存在資料庫中的一個物理結構,鍵純粹是一個邏輯概念。鍵代表建立來實施業務規則的完整性約束。索引和鍵的混淆通常是由於資料庫使用索引來實施完整性約束。 接下來我們看看資料庫中的主鍵約束、唯一鍵約束和唯一索引的區別。 SQL>

關係資料庫中唯一索引的區別

兩者在可空、唯一性、排序等表面特徵上並沒有什麼區別,而且主鍵都有唯一索引,所以常被人問起它們之間有什麼區別。簡要地說,主鍵和唯一索引,或者鍵和索引之間的最主要區別在於:鍵是一個邏輯層面的概念,涉及到資料模式的設計。從語法角度看,鍵被定義為一種約束。比方說,如果想定義外來鍵(或稱參考約束),那麼相關列就必須先定

Oracle中唯一索引的區別oracle中聯合的作用

 在建立主鍵的同時會生成對應的唯一索引,主鍵在保證資料唯一性的同時不允許為空, 而唯一索引可以有一個為空的資料項,一個表中只能有一個主鍵,但是一個主鍵可以有多個欄位,一個表中可以有多個唯一索引。 聯合主鍵只是讓記錄聯合的那幾個欄位總體上是唯一的,比如id1 id2 id3三

MySQL如何建立?Alter table add PRIMARY KEY的用法和例子

                [java] view plain copy print?-- 建立一個無主鍵的表格  create table testNoPK (    id int not null,    name varchar(10)   );  -- 建立索引   alter table tes

資料庫MySQL之如何新增唯一、外來和預設約束?

如何新增主鍵、唯一、外來鍵和預設約束? 文章目錄 如何新增主鍵、唯一、外來鍵和預設約束? 1. 新增主鍵約束 2. 新增唯一約束 3. 新增外來鍵約束 4. 新增/刪除預設約束 DEFAULT

資料庫MySQL約束和唯一約束是什麼?

資料庫MySQL之主鍵約束、唯一約束是什麼? 文章目錄 1. 主鍵約束 2. 唯一約束 2.1 UNIQUE KEY 1. 主鍵約束 主鍵可以寫為PRIMARY KEY,也可以寫成KEY 每張資

資料庫MySQL之如何刪除唯一和外來約束?

如何刪除主鍵、唯一和外來鍵約束? 文章目錄 如何刪除主鍵、唯一和外來鍵約束? 刪除約束 1. 刪除主鍵約束: 2. 刪除唯一約束: 3. 刪除外來鍵約束: 刪除約束 約束的 index_n

建立表(包括建立,外來,非空,唯一)

**************** 建立主鍵(三種方法) **************** 建立學生表: 第一種: create table student (sno char(5) primary key,/*學號*/ /*可以直接指定主鍵*/ sname

MySQL聯合,複合區別&建立

聯合主鍵:  當兩個資料表形成的是多對多的關係,那麼需要通過兩個資料表的主鍵來組成聯合主鍵,就可以確定每個資料表的其中一條記錄了 例:  學生表:student  create table student( id mediumint auto_increment co

Mysql子查詢/IF用法/時間函式及格式化/MYSQL事務中用行鎖/執行mysqldump出現拒絕訪問/建立時報錯/鎖等待

mysql時間轉換函式例項詳解 轉自:http://blog.csdn.net/twosecond/article/details/4438849 NOW()     SYSDATE()     CURRENT_TIMESTAMP  以'YYYY-MM-DD H

Mysql-基本練習(07-修改表-新增唯一、外來約束、新增/刪除預設約束、刪除約束)

1.新增主鍵約束語法:ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,……)新增主鍵約束前表結構為表tb1的id欄位新增主鍵約束,約束名為pk_tb1