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)索引 |
上一篇: Java培训课程Mysql的索引之聚簇索引和非聚簇索引
下一篇: 大数据培训课程之Flume组成架构