首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >索引操作

索引操作

作者头像
阿超
发布2022-08-16 21:19:05
发布2022-08-16 21:19:05
2870
举报
文章被收录于专栏:快乐阿超快乐阿超

一个人的礼貌是一面照出他的肖像的镜子。——歌德

自己整理的mysql对于索引操作的sql

代码语言:javascript
复制
CREATE TABLE `user` (
	-- 创建表时指定主键索引
	`id` BIGINT ( 20 ) PRIMARY KEY NOT NULL COMMENT '主键',
	`gmt_create` datetime ( 0 ) NOT NULL COMMENT '创建时间',
	`gmt_modified` datetime ( 0 ) NOT NULL COMMENT '修改时间',
	`is_delete` TINYINT ( 1 ) NOT NULL DEFAULT 0 COMMENT '逻辑删除字段',
	`username` VARCHAR ( 32 ) CHARACTER 
	SET utf8mb4 COLLATE utf8mb4_general_ci UNIQUE DEFAULT NULL COMMENT '用户名',
	`password` VARCHAR ( 32 ) CHARACTER 
	SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码',
	`mobile` INT ( 11 ) DEFAULT NULL COMMENT '手机号',
	-- 创建表时顺带创建索引
	INDEX `idx_gmt_create` ( `gmt_create` DESC ) USING BTREE COMMENT '创建日期检索索引' 
);
-- 删除索引
DROP INDEX `username` ON `user`;
-- 创建唯一索引并指定长度
CREATE UNIQUE INDEX `idx_username` USING BTREE ON `user` (`username` ( 16 ));

-- 创建普通索引并指定降序
ALTER TABLE `user` ADD INDEX `idx_gmt_modified` ( `gmt_modified` DESC ) USING BTREE COMMENT '修改日期索引';
-- 创建唯一索引
ALTER TABLE `user` ADD UNIQUE `uk_mobile` ( `mobile` ) USING BTREE;
-- 创建主键索引
ALTER TABLE `user` ADD PRIMARY KEY `pk_username` ( `username` ) USING BTREE;
-- 创建全文索引
ALTER TABLE `user` ADD FULLTEXT `fx_username`(`username`);
-- 创建联合索引
ALTER TABLE `user` ADD UNIQUE `idx_id_username`(`id`,`username`) USING BTREE;
-- 创建联合唯一索引
ALTER TABLE `user` ADD UNIQUE `uk_username_mobile`(`username`,`mobile`) USING BTREE;

-- 删除索引
ALTER TABLE `user` DROP INDEX `fx_username`;
-- 删除主键索引
ALTER TABLE `user` DROP PRIMARY KEY;

-- 查看索引
SHOW INDEX FROM `user`;
SHOW KEYS FROM `user`;

注意阿里Java手册中对于索引命名的规约

五(一)5.【强制】主键索引名为 pk_字段名;唯一索引名为 uk_字段名;普通索引名则为 idx_字段名。 说明:pk_ 即 primary key;uk_ 即 unique key;idx_ 即 index 的简称。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档