mysql_12_索引的分类_创建_删除
时间:2021-07-01 10:21:17
帮助过:2人阅读
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_索引的分类_创建_删除
标签:引擎 创建 ble 完整 unique dex 约束 ima int