索引SQL操作

1.主键索引

-- 删除主键索引
ALTER TABLE department DROP PRIMARY KEY;
-- 添加主键索引
ALTER TABLE department ADD PRIMARY KEY (id);

2. 使用ALTER 命令添加和删除索引

  1. ALTER table mytable ADD UNIQUE [indexName] (username(length));这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。
  2. ALTER TABLE tbl_name ADD INDEX index_name (column_list); 添加普通索引,索引值可出现多次。
  3. ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list);该语句指定了索引为 FULLTEXT ,用于全文索引。
ALTER TABLE `meituan_bill_order` DROP INDEX `uniq_1`;   -- 删除

ALTER TABLE `meituan_bill_order` ADD UNIQUE `uniq_1` ( `bill_period`, `sqt_biz_order_id` ); -- 增加

补充全文索引

FULLTEXT索引主要用于全文搜索,当你需要在文本数据上进行高效的搜索时,可以考虑使用FULLTEXT索引。

以下是一些常见的使用FULLTEXT索引的情况:

  1. 文章或博客系统:你可能希望用户能够通过关键词搜索文章或博客,FULLTEXT索引可以加快搜索速度并提供更准确的结果。
  2. 电子商务网站:当你想要实现商品搜索功能时,FULLTEXT索引可以帮助用户在商品标题、描述、标签等文本信息中进行关键词搜索。
  3. 社交网络:在社交网络中,用户通常希望能够搜索到他们感兴趣的话题、用户或帖子。FULLTEXT索引可以提供快速的搜索结果。
  4. 论坛或问答网站:FULLTEXT索引可以帮助用户在大量的帖子或问题中快速找到相关的内容。
  5. 日志文件或文档管理系统:FULLTEXT索引可以帮助用户快速搜索和定位特定的日志记录或文档。

需要注意的是,FULLTEXT索引适用于大量文本数据的搜索,但并不适用于所有类型的数据库查询。对于其他类型的查询,例如精确匹配或范围查询,可能需要使用其他类型的索引。

当在MySQL数据库中创建FULLTEXT联合索引时,需要使用CREATE INDEX语句。以下是一个示例,演示如何创建一个包含FULLTEXT联合索引的表:

CREATE TABLE my_table (
  id INT NOT NULL AUTO_INCREMENT,
  title VARCHAR(255),
  content TEXT,
  created_at DATETIME,
  PRIMARY KEY (id),
  FULLTEXT INDEX idx_title_content (title, content)
) ENGINE=InnoDB;

在上述示例中,我们创建了一个名为my_table的表,包含了四个列:idtitlecontentcreated_at。其中,id列被定义为主键。

FULLTEXT联合索引是通过在CREATE TABLE语句中声明FULLTEXT INDEX来创建的。在示例中,我们创建了一个名为idx_title_content的FULLTEXT联合索引,包含了titlecontent两列。这将允许我们在titlecontent上进行全文搜索。

最后,通过指定ENGINE=InnoDB,我们选择了InnoDB存储引擎,但你可以根据自己的需求选择适合的存储引擎。

请根据你的具体需求和表结构修改上述示例中的表名、列名和索引名等信息,并确保你的MySQL版本支持FULLTEXT索引。

3.删除索引

  1. DROP INDEX [indexName] ON mytable; 删除索引
  2. ALTER TABLE department DROP INDEX DNAME; 删除的唯一索引也是这个命令
    在这里插入图片描述
  3. 删除唯一索引 ALTER TABLE department DROP INDEX unique_01; 其中department是表名, unique_01是自定义唯一索引名。
    在这里插入图片描述
    在这里插入图片描述

4. 添加唯一索引

-- 添加唯一索引
ALTER TABLE department ADD UNIQUE  `unique_01` (`DNAME`);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boy快快长大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值