mysql_12_索引的分类_创建_删除
Posted 鑫文飘雪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql_12_索引的分类_创建_删除相关的知识,希望对你有一定的参考价值。
1 USE db_book; 2 -- 第四节:索引分类 3 -- 1.普通索引 4 -- 这类索引可以创建在任何数据类型中; 5 -- 2.唯一性索引 6 -- 使用UNIQUE参数可以设置,在创建唯一性索引时,限制该索引的值必须是唯一的; 7 -- 3.全文索引 8 -- 使用FULLTEXT参数可以设置,全文索引只能创建在CHAR,VARCHAR,TEXT类型的字段上; 9 -- 主要作用就是提高查询较大字符串类型的速度;只有MyISAM引擎支持该索引,mysql默认引擎不支持。 10 -- 4.单列索引 11 -- 在表中可以给出单个字段创建索引,单列索引可以是普通索引,也可以是唯一性,还可以是全文索引; 12 -- 5.多列索引 13 -- 多列索引是在表的多个字段上创建一个索引。 14 -- 6.空间索引 15 -- 使用SPATIAL参数可以设置空间索引;空间索引只能建立在空间数据类型上,这样可以提高系统获取空间数据的效率; 16 -- 只有MyISAM引擎支持该索引,Mysql默认引擎不支持。 17 18 19 -- 第五节:创建索引 20 -- 5.1创建表的时候创建索引 21 -- 格式: 22 -- CREATE TABLE 表名(属性名 数据类型 [完整性约束条件], 23 -- 属性名 数据类型 [完整性约束条件], 24 -- ... 25 -- 属性名 数据类型 26 -- [UNIQUE | FULLTEXT | SPATIAL ]INDEX KEY 27 -- [别名](属性名1 [(长度)][ASC |DESC]) 28 -- ); 29 30 -- 1.创建普通索引 31 CREATE TABLE t_user1(id INT, 32 userName VARCHAR(20), 33 password VARCHAR(20), 34 INDEX(userName) 35 ); 36 37 -- 2.创建唯一性索引 38 CREATE TABLE t_user2(id INT, 39 userName VARCHAR(20), 40 password VARCHAR(20), 41 UNIQUE INDEX index_userName(userName) 42 ); 43 44 -- 3.创建全文索引 45 -- 默认引擎不支持 46 47 -- 4.创建单列索引 48 -- 1和2都是单列索引 49 50 -- 5.创建多列索引 51 CREATE TABLE t_user5(id INT, 52 userName VARCHAR(20), 53 password VARCHAR(20), 54 UNIQUE INDEX index_userName_password(userName,password) 55 ); 56 57 -- 6.创建空间索引 58 -- 默认引擎不支持 59 60 -- 5.2在已存在的表上创建索引 61 -- 格式: 62 -- CREATE [UNIQUE|FULLTEXT|SPATIAL]INDEX 索引名 ON 表名 (属性名[(长度)][ASC|DESC]); 63 CREATE TABLE t_user5_2( 64 id int PRIMARY KEY auto_increment, 65 userName VARCHAR(20), 66 password VARCHAR(20) 67 ); 68 69 CREATE INDEX index_userName ON t_user5_2 (userName);-- 普通索引 70 CREATE UNIQUE INDEX index_userName2 ON t_user5_2 (userName);-- 唯一性索引 71 CREATE INDEX index_userName_password ON t_user5_2 (userName,password);-- 多列索引 72 73 -- 5.3用ALTER TABLE语句来创建索引 74 -- 格式: 75 -- ALTER TABLE 表名 ADD[UNIQUE|FULLTEXT|SPATIAL]INDEX 索引名 (属性名[(长度)][ASC|DESC]); 76 CREATE TABLE t_user5_3( 77 id int PRIMARY KEY auto_increment, 78 userName VARCHAR(20), 79 password VARCHAR(20) 80 ); 81 82 ALTER TABLE t_user5_3 ADD INDEX index_user (userName);-- 普通索引 83 ALTER TABLE t_user5_3 ADD UNIQUE INDEX index_user2 (userName);-- 唯一性索引 84 ALTER TABLE t_user5_3 ADD INDEX index_user_password (userName,password);-- 多列索引 85 86 -- 第六节:删除索引 87 -- 格式: 88 -- DROP INDEX 索引名 ON 表名; 89 DROP INDEX userName ON t_user1; 90 DROP INDEX index_userName ON t_user2; 91 DROP INDEX index_userName_password ON t_user5; 92 93 -- 删除表 94 DROP TABLE t_user1; 95 DROP TABLE t_user2; 96 DROP TABLE t_user5; 97 DROP TABLE t_user5_2; 98 DROP TABLE t_user5_3;
以上是关于mysql_12_索引的分类_创建_删除的主要内容,如果未能解决你的问题,请参考以下文章