1. 程式人生 > >MySQL資料庫操作(二) ----索引的操作

MySQL資料庫操作(二) ----索引的操作

       資料庫物件索引是一種有效組合資料的方式,通過索引物件,可以快速查詢到資料物件表中的特定記錄,是一種提高效能的常用方式。
       索引是建立子啊資料庫表物件上,由表中的一個欄位或多個欄位生成的鍵組成,這些鍵儲存在資料結構(B樹或者雜湊表中),從而快速查詢與鍵值相關的欄位。

建立和檢視普通索引

建立表時建立普通索引

create table table_name(
    屬性名1 資料型別,
    屬性名2 資料型別,
    ......
    index/key 索引名(屬性名1 asc|desc,屬性名2 asc|desc,...)
);

       index或者key引數是用來指定欄位為索引,asc代表索引為升序排序,desc代表為降序排序。預設為升序排序。
舉個栗子:

create table t_dept(
    deptno int,
    dname varchar(20),
    loc varchar(40),
    index index_deptno(deptno)
);

在已經存在的表上建立普通索引

create index 索引名
    on 表名(屬性名 asc|desc);

        on用來指定所要建立索引的表名稱。
        舉個栗子:

create index index_deptno 
    on t_dept(deptno);

        注:這裡需要先建立t_dept;

通過alter table 建立普通索引

alter table table_name
    add index|key 索引名(屬性名 asc|desc);

    舉例:

alter table t_dept
    add index index_deptno(deptno);

建立唯一索引

     唯一索引,即是在建立索引時,限制索引的值必須是唯一的。

建立表時建立唯一索引

create table table_name(
    屬性名 資料型別,
    屬性名 資料型別,
    ......
    屬性名 資料型別,
    unique index|key 索引名(屬性名 asc|desc
) );

    與建立普通索引相同,只需要加上unique。

在已經存在的表上建立唯一索引

create unique index 索引名
    on 表名(屬性名 asc|desc);

通過SQL語句alter table建立唯一索引

alter table table_name
    add unique index|key 索引名(屬性名 asc|desc);

建立和檢視全文索引

     全文索引主要關聯在資料型別為char,varchar和text的欄位上。

建立表時建立全文索引

create table table_name (
    屬性名 資料型別,
    ......
    fulltext index|key 索引名(屬性名 asc|desc)
);

在已經存在的表上建立全文索引

create fulltext index 索引名
    on 表名(屬性名 asc|desc);

通過SQL語句alter table建立全文索引

alter table table_name
    add fulltext index|key 索引名(屬性名 asc|desc);

建立多列索引

建立表時建立多列索引

create table table_name(
    屬性名1 資料型別,
    屬性名2 資料型別,
    ......
    index|key 索引名(屬性名1 asc|desc,屬性名2 asc|desc)
);

    asc|desc可以省略,預設為增序排序。

在已經存在的表上建立多列索引

create index 索引名
    on 表名(屬性名 asc|desc,屬性名 asc|desc);

通過SQL語句alter table建立多列索引

alter table table_name
    add index|key 索引名(屬性名 asc|desc,屬性名 asc|desc);