真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql添加索引的方法

這篇文章給大家分享的是有關(guān)MySQL添加索引的方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供彭陽網(wǎng)站建設(shè)、彭陽做網(wǎng)站、彭陽網(wǎng)站設(shè)計、彭陽網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、彭陽企業(yè)網(wǎng)站模板建站服務(wù),10年彭陽做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

一、使用CREATE INDEX語句

可以使用專門用于創(chuàng)建索引的 CREATE INDEX 語句在一個已有的表上創(chuàng)建索引,但該語句不能創(chuàng)建主鍵。

CREATE INDEX [<索引名>] ON <表名> (<列名> [<長度>] [ ASC | DESC])

語法說明如下:

● <索引名>:指定索引名。一個表可以創(chuàng)建多個索引,但每個索引在該表中的名稱是唯一的。

● <表名>:指定要創(chuàng)建索引的表名。

● <列名>:指定要創(chuàng)建索引的列名。通常可以考慮將查詢語句中在 JOIN 子句和 WHERE 子句里經(jīng)常出現(xiàn)的列作為索引列。

● <長度>:可選項。指定使用列前的 length 個字符來創(chuàng)建索引。使用列的一部分創(chuàng)建索引有利于減小索引文件的大小,節(jié)省索引列所占的空間。在某些情況下,只能對列的前綴進(jìn)行索引。索引列的長度有一個最大上限 255 個字節(jié)(MyISAM 和 InnoDB 表的最大上限為 1000 個字節(jié)),如果索引列的長度超過了這個上限,就只能用列的前綴進(jìn)行索引。另外,BLOB 或 TEXT 類型的列也必須使用前綴索引。

● ASC|DESC:可選項。ASC指定索引按照升序來排列,DESC指定索引按照降序來排列,默認(rèn)為ASC。

二、使用 CREATE TABLE 語句

索引可以在創(chuàng)建表(CREATE TABLE)的同時創(chuàng)建,語法格式:

1、創(chuàng)建主鍵索引

CONSTRAINT PRIMARY KEY [索引類型] (<列名>,…)

在使用 CREATE TABLE 語句定義列選項的時候,可以通過直接在某個列定義后面添加 PRIMARY KEY 的方式創(chuàng)建主鍵。而當(dāng)主鍵是由多個列組成的多列索引時,則不能使用這種方法,只能用在語句的最后加上一個 PRIMARY KRY(<列名>,…) 子句的方式來實(shí)現(xiàn)。

2、創(chuàng)建一般索引

 KEY | INDEX [<索引名>] [<索引類型>] (<列名>,…)

3、創(chuàng)建唯一性索引

UNIQUE [ INDEX | KEY] [<索引名>] [<索引類型>] (<列名>,…)

4、創(chuàng)建外鍵索引

FOREIGN KEY <索引名> <列名>

示例1:創(chuàng)建一個表 tb_stu_info,在該表的 height 字段創(chuàng)建一般索引。

mysql> CREATE TABLE tb_stu_info
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> INDEX(height)
    -> );

示例2:創(chuàng)建一個表 tb_stu_info2,在該表的 id 字段上使用 UNIQUE 關(guān)鍵字創(chuàng)建唯一索引。

mysql> CREATE TABLE tb_stu_info2
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> UNIQUE INDEX(id)
    -> );

三、使用 ALTER TABLE 語句

在使用 ALTER TABLE 語句修改表的同時,可以向已有的表添加索引。具體的做法是在 ALTER TABLE 語句中添加以下語法成分的某一項或幾項。

1、創(chuàng)建主鍵索引

ADD PRIMARY KEY [<索引類型>] (<列名>,…)

2、創(chuàng)建一般索引

ADD INDEX [<索引名>] [<索引類型>] (<列名>,…)

3、創(chuàng)建唯一性索引

ADD UNIQUE [ INDEX | KEY] [<索引名>] [<索引類型>] (<列名>,…)

4、創(chuàng)建外鍵索引

ADD FOREIGN KEY [<索引名>] (<列名>,…)

示例1:創(chuàng)建一個表 tb_stu_info3后,在該表的 id 字段上使用 UNIQUE 關(guān)鍵字創(chuàng)建唯一索引。

mysql> CREATE TABLE tb_stu_info3
    -> (
    -> id INT NOT NULL,
    -> name CHAR(45) DEFAULT NULL,
    -> dept_id INT DEFAULT NULL,
    -> age INT DEFAULT NULL,
    -> height INT DEFAULT NULL,
    -> );
Query OK,0 rows affected (0.40 sec)
mysql>ALTER TABLE tb_stu_info3 ADD UNIQUE (id) ;

四、顯示索引信息

以使用 SHOW INDEX 命令來列出表中的相關(guān)的索引信息??梢酝ㄟ^添加 \G 來格式化輸出信息。

示例:

mysql> SHOW CREATE TABLE tb_stu_info\G
*************************** 1. row ***************************
       Table: tb_stu_info
Create Table: CREATE TABLE `tb_stu_info` (
  `id` int(11) NOT NULL,
  `name` char(45) DEFAULT NULL,
  `dept_id` int(11) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `height` int(11) DEFAULT NULL,
  KEY `height` (`height`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
1 row in set (0.01 sec)

感謝各位的閱讀!關(guān)于mysql添加索引的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!


網(wǎng)頁題目:mysql添加索引的方法
鏈接分享:http://weahome.cn/article/iepigj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部