MySQL数据库操作(二) ----索引的操作

本文详细介绍了数据库中的不同类型的索引,包括普通索引、唯一索引、全文索引及多列索引等,并提供了创建这些索引的具体SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       数据库对象索引是一种有效组合数据的方式,通过索引对象,可以快速查询到数据对象表中的特定记录,是一种提高性能的常用方式。
       索引是创建子啊数据库表对象上,由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值