国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL索引創(chuàng)建 刪除 增加 修改命令

2024-07-24 12:37:23
字體:
供稿:網(wǎng)友

在mysql中索引是我們對數(shù)據(jù)庫進行優(yōu)化的一個很好的功能,下面我來給大家介紹mysql 索引的創(chuàng)建 刪除 增加 修改方法,希望些教程對各位朋友有所幫助。

簡單的唯一索引:可以創(chuàng)建一個唯一索引的表,唯一的索引意味著兩個行不能擁有相同的索引值,這里是語法來創(chuàng)建索引的表,代碼如下:

  1. CREATE UNIQUE INDEX index_name 
  2. ON table_name ( column1, column2,...); 

可以使用一個或多個列上創(chuàng)建索引。例如,我們可以創(chuàng)建一個索引的使用在表tutorials_tbl的tutorial_author列上,代碼如下:

  1. CREATE UNIQUE INDEX AUTHOR_INDEX 
  2. ON tutorials_tbl (tutorial_author) 

可以創(chuàng)建一個簡單的索引的表,只要省略UNIQUE關鍵字的查詢創(chuàng)建一個簡單的索引,簡單的索引允許重復表中的值,如果你想在一列以降序索引值,可以在列名后添加保留字DESC,代碼如下:

  1. mysql> CREATE UNIQUE INDEX AUTHOR_INDEX 
  2. ON tutorials_tbl (tutorial_author DESC

ALTER命令添加和刪除索引,有四種類型的語句表添加索引,代碼如下:

ALTER TABLE tbl_name ADD PRIMARY KEY (column_list):這條語句添加一個主鍵,這意味著索引值必須是唯一的,不能是NULL.

代碼如下:ALTER TABLE tbl_name ADD UNIQUE index_name (column_list):這條語句創(chuàng)建一個索引,其值必須是唯一的(除NULL值,這可能會多次出現(xiàn))。

代碼如下:ALTER TABLE tbl_name ADD INDEX index_name (column_list):這增加了一個普通的索引,其中的任何值,可能會出現(xiàn)多于一次。

代碼如下:ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):這將創(chuàng)建一個特殊的FULLTEXT索引,用于文本搜索的目的.

下面是這個例子,在現(xiàn)有的表添加索引,代碼如下:

mysql> ALTER TABLE testalter_tbl ADD INDEX (c);

可以刪除任何INDEX通過使用DROP子句和使用ALTER命令,試試下面的例子上面創(chuàng)建的索引下降,代碼如下:

mysql> ALTER TABLE testalter_tbl DROP INDEX (c);

可以刪除任何INDEX通過使用DROP子句t和使用ALTER命令,試試下面的例子上面創(chuàng)建的索引x.

ALTER命令來添加和刪除PRIMARY KEY:您可以添加主鍵,以及在相同的方式中,但要確保主鍵這是NOT NULL的列上,這是在現(xiàn)有的表添加主鍵的例子,這將NOT NULL列,然后將其添加為一個主鍵,代碼如下:

  1. mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL
  2. mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i); 

可以使用ALTER命令刪除主鍵如下,代碼如下:

mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;

要刪除索引,這不是一個PRIMARY KEY,所以必須指定索引的名稱.

顯示索引信息:您可以使用SHOW INDEX命令,列出所有相關聯(lián)的索引表,垂直格式輸出(指定由 G)往往是有用的這句話,以避免長時間行重疊.

試試下面的例子,代碼如下:

mysql> SHOW INDEX FROM table_nameG

........

加索引:mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);

例子:mysql> alter table employee add index emp_name (name); 

加主關鍵字的索引:mysql> alter table 表名 add primary key (字段名);

例子:mysql> alter table employee add primary key(id); //Vevb.com

加唯一限制條件的索引

mysql> alter table 表名 add

unique 索引名 (字段名);

例子:mysql> alter table employee add unique emp_name2(cardnumber); 

查看某個表的索引:mysql> show index from 表名;

例子:代碼如下:mysql> show index from employee; 

刪除某個索引:mysql> alter table 表名 drop index 索引名;

例子:mysql>alter table employee drop index emp_name; 

總結索引與優(yōu)化

1、選擇索引的數(shù)據(jù)類型

MySQL支持很多數(shù)據(jù)類型,選擇合適的數(shù)據(jù)類型存儲數(shù)據(jù)對性能有很大的影響,通常來說,可以遵循以下一些指導原則:

(1)越小的數(shù)據(jù)類型通常更好,越小的數(shù)據(jù)類型通常在磁盤、內(nèi)存和CPU緩存中都需要更少的空間,處理起來更快.

(2)簡單的數(shù)據(jù)類型更好,整型數(shù)據(jù)比起字符,處理開銷更小,因為字符串的比較更復雜。在MySQL中,應該用內(nèi)置的日期和時間數(shù)據(jù)類型,而不是用字符串來存儲時間,以及用整型數(shù)據(jù)類型存儲IP地址.

(3)盡量避免NULL,應該指定列為NOT NULL,除非你想存儲NULL,在MySQL中,含有空值的列很難進行查詢優(yōu)化,因為它們使得索引、索引的統(tǒng)計信息以及比較運算更加復雜,你應該用0、一個特殊的值或者一個空串代替空值.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 锡林郭勒盟| 盐山县| 清涧县| 沙田区| 徐州市| 岫岩| 武隆县| 绍兴市| 蓬安县| 博客| 成安县| 揭西县| 颍上县| 安吉县| 乳山市| 简阳市| 临湘市| 屯昌县| 滨州市| 隆化县| 万州区| 赤峰市| 桂平市| 铁岭县| 清新县| 延寿县| 西青区| 邵武市| 剑川县| 广西| 威宁| 万荣县| 通州区| 江孜县| 吴川市| 长春市| 社旗县| 保靖县| 江达县| 海晏县| 都安|