MySQL索引

一、索引_概念和作用

1).概念:它就類似于圖書的"目錄",使數(shù)據(jù)庫軟件通過"索引"可以非??斓牟檎业剿璧臄?shù)據(jù)。
2).作用:加快查詢速度

二、索引_分類及創(chuàng)建和刪除

A).查看索引:show index from 表名;
B).索引分類、創(chuàng)建、刪除:
    1).主鍵索引:必須唯一、非空:當創(chuàng)建"主鍵約束"時,數(shù)據(jù)庫會自動創(chuàng)建一個"主鍵索引"
        1).創(chuàng)建方式一:創(chuàng)建表-創(chuàng)建主鍵
            create table student(
                id int primary key auto_increment,
                name varchar(200)
            )
        2).創(chuàng)建方式二:修改表-添加主鍵(同時會自動添加主鍵索引)
            alter table 表名 add primary key (列名);
        3).刪除主鍵:(同時刪除主鍵索引)
            alter table 表名 drop primary key;

    2).唯一索引:必須唯一,允許有NULL
        1).創(chuàng)建方式一:創(chuàng)建表-設(shè)置"唯一約束"
            create table student(
                id int primary key auto_increment,
                name varchar(100) unique    #此列會自動創(chuàng)建一個"唯一索引",索引名就是字段名。
            )
        2).創(chuàng)建方式二:修改表-添加唯一約束
            alter table 表名 add unique (列名);//添加唯一約束,同時添加唯一索引
        3).創(chuàng)建方式三:添加索引
            create unique index [索引名] ON 表名 (字段名);//添加唯一索引,同時添加唯一約束
        4).刪除唯一索引:
            alter table 表名 DROP INDEX 索引名/字段名;

    3).普通索引:
        1).創(chuàng)建方式一:
            create index 索引名 on 表名 (列名)
            例如:
            create index pname_index on product(pname);

        2).刪除普通索引:
            alter table 表名 drop index 索引名;
            例如:
            alter table product drop index pname_index;

    4).全文索引:只有在MyISAM引擎支持
        
C).索引的其它說明:
    1).對于經(jīng)常出現(xiàn)在where和order by 以及group by 中的字段可以建立索引。
    2).對于有索引的表,會影響添加、刪除數(shù)據(jù)的效率。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容