Mysql索引分类
1 单值索引
概念:即一个索引只包含单个列,一个表可以有多个单列索引
语法:
所表一起创建: |
CREATE TABLE customer (id INT(10) UNSIGNED AUTO_INCREMENT ,customer_no VARCHAR(200),customer_name VARCHAR(200), PRIMARY KEY(id), KEY (customer_name) ); |
单独建单值索引: |
CREATE INDEX idx_customer_name ON customer(customer_name); |
2 唯一索引
概念:索引列的值必须唯一,但允许有空值
随表一起创建: |
CREATE TABLE customer (id INT(10) UNSIGNED AUTO_INCREMENT ,customer_no VARCHAR(200),customer_name VARCHAR(200), PRIMARY KEY(id), KEY (customer_name), UNIQUE (customer_no) ); |
单独建唯一索引: |
CREATE UNIQUE INDEX idx_customer_no ON customer(customer_no); |
3 主键索引
概念:设定为主键后数据库会自动建立索引,innodb为聚簇索引
随表一起建索引 |
CREATE TABLE customer (id INT(10) UNSIGNED AUTO_INCREMENT ,customer_no VARCHAR(200),customer_name VARCHAR(200), PRIMARY KEY(id) ); |
单独建主键索引: |
ALTER TABLE customer add PRIMARY KEY customer(customer_no); |
删除建主键索引: |
ALTER TABLE customer drop PRIMARY KEY ; |
修改建主键索引: |
必须先删除掉(drop)原索引,再新建(add)索引 |
文章介绍了MySQL中的三种主要索引类型:单值索引,要求一个索引只包含一个列;唯一索引,确保列值的唯一性,允许空值;以及主键索引,作为表的标识,自动创建并为InnoDB存储引擎的聚簇索引。创建和管理这些索引的方法包括在创建表时定义,以及使用ALTERTABLE语句单独添加或删除。
8934

被折叠的 条评论
为什么被折叠?



