欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL数据库操作之索引的操作实例

程序员文章站 2022-04-12 20:20:27
数据库对象索引是一种有效组合数据的方式,通过索引对象,可以快速查询到数据对象表中的特定记录,是一种提高性能的常用方式。 索引是创建子啊数据库表对象上,由表中的一个字段或多个字段生...

数据库对象索引是一种有效组合数据的方式,通过索引对象,可以快速查询到数据对象表中的特定记录,是一种提高性能的常用方式。

索引是创建子啊数据库表对象上,由表中的一个字段或多个字段生成的键组成,这些键存储在数据结构(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);