MySql 创建索引方法

创建原理可参考,这里仅给出了mysql创建索引的方法。

1. 创建示例文件

#  创建表格
CREATE TABLE `students` (
 std_id int(11) NOT NULL,
 std_name varchar(50) NOT NULL,
 std_email varchar(50) NOT NULL,
 std_phone varchar(30) NOT NULL,
 create_date date DEFAULT NULL,
 content text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
#插入数据
INSERT INTO students (`std_id, std_name, std_email, std_phone, create_date, content) 
VALUES(1, 'admin', '[email protected]', '18729902095', '1983-06-25', 'i am robin'),
(2, 'root', '[email protected]', '2', '1983-12-25', 'i am xiaoluo'),
(3, '110', '[email protected]', '3dsad', '2017-04-28', 'i am lili');

2. 创建普通索引

  1. 直接创建:CREATE INDEX std_idx_name ON student(std_name);
  2. 修改表时创建索引:ALTER TABLE students ADD INDEX std_idx_name2(std_name);
  3. 创建表时建立索引:加入 index std_idx_name3(std_name)
  4. 查看索引:SHOW INDEX FROM students;

3. 创建唯一索引

INDEX前加入UNIQUE

  1. 直接创建:CREATE UNIQUE INDEX std_idx_name ON student(std_name);
  2. 修改表时创建索引:ALTER TABLE students ADD UNIQUE INDEX std_idx_name2(std_name);
  3. 创建表时建立索引:加入 UNIQUE index std_idx_name3(std_name)

4. 创建主键索引

主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引。

  1. 修改表时创建索引:ALTER TABLE students ADD PRIMARY KEY (std_id);
  2. 创建表时建立索引:加入 primary key ('std_id')

5. 创建全文索引

  1. 直接创建:CREATE FULL TEXT INDEX index_name ON students(content);
  2. 修改表时创建索引:ALTER TABLE students ADD FULLTEXT INDEX index_name2(content);
  3. 创建表时创建索引:加入FULL TEXT (content);

使用: SELECT * FROM students WHERE MATCH(content) against ('robin');

6. 建立联合索引

  1. 直接创建:CREATE FULLTEXT INDEX index_name ON students(email,content);
  2. 修改表时创建索引:ALTER TABLE students ADD FULLTEXT INDEX email_content(email,content);
  3. 创建表时创建索引:加入FULLTEXT (email,content);
    使用:SELECT * FROM students WHERE MATCH(email,content) AGAINST('student robin');

7. 查看索引

  1. SHOW INDEX FROM students;

8. 删除索引

  1. DROP INDEX index_name ON table_name;
  2. ALTER TABLE table_name DROP INDEX index_name;

猜你喜欢

转载自blog.csdn.net/nixiang_888/article/details/109402609