手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Mysql索引篇,在已创建的表中管理索引

时间:2024-11-03 21:44:17

在已存在的表中,可以使用ALTER TABLE语句或者CREATE INDEX语句创建索引

工具/原料

电脑

Mysql

Navicat等Mysql可视化编辑软件

1.创建测试表

1、创建测试表 DROP TABLE IF EXISTS `test_7`; CREATE 哌囿亡噱TABLE `test_7` ( `id` int(11) NOT NULL A炽扃仄呦UTO_INCREMENT, `col1` varchar(50) DEFAULT NULL, `col2` int(11) DEFAULT NULL, `col3` varchar(50) DEFAULT NULL, `col4` int(11) DEFAULT NULL, `col5` varchar(50) DEFAULT NULL, `col6` int(11) DEFAULT NULL, `col7` geometry DEFAULT NOT NULL, INDEX SingleIdx(col1) PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4; 插入测试数据 INSERT INTO `test_7` VALUES ('1', 'aaa', '1', 'bbb', '2', 'ccc', '3', GeomFromText('POINT(108.9498710632 34.2588125935)')); INSERT INTO `test_7` VALUES ('2', 'ddd', '4', 'eee', '5', 'fff', '7', GeomFromText('POINT(108.9498710632 34.2588125935)')); INSERT INTO `test_7` VALUES ('3', 'ggg', '8', 'hhh', '9', 'iii', '10', GeomFromText('POINT(108.9498710632 34.2588125935)')); INSERT INTO `test_7` VALUES ('4', 'jjj', '11', 'kkk', '12', 'lll', '13', GeomFromText('POINT(108.9498710632 34.2588125935)')); INSERT INTO `test_7` VALUES ('5', 'mmm', '14', 'nnn', '15', 'ooo', '16', GeomFromText('POINT(108.9498710632 34.2588125935)')); INSERT INTO `test_7` VALUES ('6', 'ppp', '17', 'qqq', '18', 'rrr', '19', GeomFromText('POINT(108.9498710632 34.2588125935)')); INSERT INTO `test_7` VALUES ('7', 'sss', '20', 'ttt', '21', 'uuu', '22', GeomFromText('POINT(108.9498710632 34.2588125935)'));

Mysql索引篇,在已创建的表中管理索引

2、查看当前表中首疏扌熘创建的索引SHOW INDEX FROM test_7;结果如图所示,以下是各列的释义Table:表名Non_unique:是否唯一索引,0是,1不是。Key_name:索徂葛幢捎引名称Seq_in_index:索引位置,单列索引为1,组合索引为每个索引的位置Column_name:表示定义索引的列字段Sub_part 表示索引的长度Null:表示字段是否能为空值Index_type:表示索引类型

Mysql索引篇,在已创建的表中管理索引

2.添加索引

1、添加普通索引 ALTER TABLE test_7 ADD INDEX tidx_1(col2);使用Navicat查看创建的索查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引

2、添加唯一索引ALTER TABLE test_7 ADD UNIQUE INDEX tidx_2(col3);使用Navicat查看创建的索引查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引

3、添加组合索引ALTER TABLE test_7 ADD UNIQUE INDEX tidx_4(col2,col3);使用Navicat查看创建的索引查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引

4、添加全文索引(注意,全文索引仅能在MyISAM引擎中使用)ALTER TABLE test_7 ADD FULLTEXT INDEX tidx_5(col5);使用Navicat查看创建的索引查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引

5、添加空间索引(注意,空间索引仅能在MyISAM引擎中使用)ALTER TABLE test_7 ADD SPATIAL INDEX tidx_5(col7);使用Navicat查看创建的索引查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引

6、补充:另外可以用CREATE INDEX命令首疏扌熘创建索引结构是:CREATE INDEX 索引名 ON 表名(字段名);示例讲解1.创建普通索引CREATE INDEX test1 ON test_8(aaa);2.创建唯一索引CREATE UNIQUE INDEX test2 ON test_8(bbb);3.创建组合索引CREATE INDEX test3 ON test_8(ccc,ddd);4.创建全文索引CREATE FULLTEXT INDEX test4 ON test_8(eee);5.创建空间索引CREATE SPATIAL INDEX test5 ON test_8(eee);

3.删除索引

1、使用ALTER TABLE删除索引语句结构 ALTER TABLE 表名 DROP INDEX 殇矬岭柳索引名;ALTER TABLE test_7 DROP INDEX tidx_1;使用Navicat查看创建的索引查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引

2、使用DROP INDEX语句删除索引DROP INDEX 索引名 ON 表名DROP INDEX tidx_2 ON test_7;使用Navicat查看创建的索引查看当前表中创建的索引SHOW INDEX FROM test_7;

Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
Mysql索引篇,在已创建的表中管理索引
© 手抄报圈