MySQL——表添加索引多种方式

在不同的数据库管理系统中,添加索引的基本思路类似,但语法会稍有不同,下面以常见的 MySQL 数据库为例,介绍三种在表中添加索引的方式。

本文目录

      • 方式一:创建表时添加索引
        • 语法示例
        • 实际例子
      • 方式二:使用 ALTER TABLE 语句添加索引
        • 语法示例
        • 实际例子
      • 方式三:使用 CREATE INDEX 语句添加索引
        • 语法示例
        • 实际例子

方式一:创建表时添加索引

在使用 CREATE TABLE 语句创建表的同时,可以为表中的列添加索引。这种方式适用于在设计表结构时就确定需要添加索引的情况。

语法示例
    -- 普通索引
    INDEX index_name (column_name),
    -- 唯一索引
    UNIQUE INDEX unique_index_name (column_name),
    -- 主键索引
    PRIMARY KEY (column_name),
    -- 全文索引(适用于文本类型列)
    FULLTEXT INDEX fulltext_index_name (column_name)
实际例子
CREATE TABLE users (
    id INT AUTO_INCREMENT,
    username VARCHAR(50),
    email VARCHAR(100),
    age INT,
    -- 为 username 列添加普通索引
    INDEX idx_username (username),
    -- 为 email 列添加唯一索引
    UNIQUE INDEX idx_email (email),
    -- 为 id 列添加主键索引
    PRIMARY KEY (id)
);

方式二:使用 ALTER TABLE 语句添加索引

如果表已经创建好,后续发现需要添加索引,可以使用 ALTER TABLE 语句来为表中的列添加索引。

语法示例
-- 添加普通索引
ALTER TABLE table_name ADD INDEX index_name (column_name);
-- 添加唯一索引
ALTER TABLE table_name ADD UNIQUE INDEX unique_index_name (column_name);
-- 添加全文索引
ALTER TABLE table_name ADD FULLTEXT INDEX fulltext_index_name (column_name);
-- 添加主键索引
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
实际例子
-- 为已存在的 users 表的 age 列添加普通索引
ALTER TABLE users ADD INDEX idx_age (age);

方式三:使用 CREATE INDEX 语句添加索引

CREATE INDEX 语句专门用于在已存在的表上添加索引,不能用于添加主键索引(主键索引需使用 ALTER TABLE 或在创建表时指定)。

语法示例
-- 添加普通索引
CREATE INDEX index_name ON table_name (column_name);
-- 添加唯一索引
CREATE UNIQUE INDEX unique_index_name ON table_name (column_name);
-- 添加全文索引
CREATE FULLTEXT INDEX fulltext_index_name ON table_name (column_name);
实际例子
-- 为 users 表的 username 列添加普通索引
CREATE INDEX idx_username ON users (username);

索引可以提高查询效率,但会增加数据插入、更新和删除的开销,同时会占用一定的存储空间。



← 上一篇 Java进阶——常用类及常用方法详解
记得点赞、关注、收藏哦!
下一篇 Java进阶——数组超详细整理 →

你可能感兴趣的:(MySQL,mysql,数据库)