MySQL索引分类和建索引命令语句

MySQL索引分类

主要有单值索引和复合索引两种,具体可分成如下:

  1. 主键索引:
    它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引
  2. 普通索引:
    这是最基本的索引,它没有任何限制,单列允许重复
create index idx_name on user(
name(20)
);
  1. 唯一索引:
    与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值(注意和主键不同)。如果是组合索引,则列值的组合必须唯一,创建方法和普通索引类似
CREATE UNIQUE INDEX idx_email ON user(
email
);
  1. 全文索引
    MySQL支持全文索引和搜索功能。MySQL中的全文索引类型为FULLTEXT的索引。 FULLTEXT 索引仅可用于 MyISAM表;代码如下:
CREATE TABLE articles (
   id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
   title VARCHAR(200),
   body TEXT,
   FULLTEXT (title,body)
    );
mysql> SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('database');
  1. 复合索引:
    即一个索引包含多个列,代码如下:
CREATE TABLE test (
    id INT NOT NULL,
    last_name CHAR(30) NOT NULL,
    first_name CHAR(30) NOT NULL,
    PRIMARY KEY (id),
    INDEX name (last_name,first_name)
);

在这里插入图片描述

使用ALTER命令:

在这里插入图片描述

发布了217 篇原创文章 · 获赞 125 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39885372/article/details/104164732