MySQL普通索引和唯一索引


在MySQL数据库中,索引是一种优化数据库查询的结构,可以显著提高检索数据的速度。MySQL支持多种类型的索引,其中包括普通索引和唯一索引。

  1. 普通索引(Non-Unique Index):

    • 定义: 普通索引允许数据表中的列包含重复的值,多个行可以具有相同的索引键值。

    • 语法:

      在创建表时,可以通过以下语法创建普通索引:

      CREATE INDEX index_name ON table_name (column_name);
    • 示例:

      CREATE TABLE users (
        id INT PRIMARY KEY,
        username VARCHAR(50),
        email VARCHAR(50),
        INDEX idx_username (username)
      );
    • 用途: 普通索引适用于需要快速检索数据,但允许重复值的列。

  2. 唯一索引(Unique Index):

    • 定义: 唯一索引要求数据表中的索引列的值是唯一的,不能有重复的值。每个索引键值只能出现一次。

    • 语法:

      在创建表时,可以通过以下语法创建唯一索引:

      CREATE UNIQUE INDEX index_name ON table_name (column_name);
    • 示例:

      CREATE TABLE users (
        id INT PRIMARY KEY,
        username VARCHAR(50) UNIQUE,
        email VARCHAR(50) UNIQUE
      );
    • 用途: 唯一索引适用于要求索引列值唯一的情况,通常用于主键列或具有唯一性要求的列。

总结:

  • 普通索引用于加速检索数据,可以包含重复的值。
  • 唯一索引要求索引列的值是唯一的,每个值只能出现一次,通常用于确保数据表中某列的唯一性。


原文链接:codingdict.net