mysql怎么添加索引

在mysql中可以通过使用alter table这个sql语句来为表中的字段添加索引。

mysql怎么添加索引

1、添加PRIMARY KEY(主键索引) 

mysql>ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )

登录后复制

2、添加UNIQUE(唯一索引) 

mysql>ALTER TABLE `table_name` ADD UNIQUE ( `column` )

登录后复制

3、添加INDEX(普通索引) 

mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` )

登录后复制

4、添加FULLTEXT(全文索引) 

mysql>ALTER TABLE `table_name` ADD FULLTEXT ( `column`)

登录后复制

5、添加多列索引 

mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column1`, `column2`, `column3` )

登录后复制

下面是更加详细的方法

MySQL中可以使用alter table这个SQL语句来为表中的字段添加索引。

使用alter table语句来为表中的字段添加索引的基本语法是:

ALTER TABLE  ADD INDEX ();

登录后复制

例:我们来尝试为test中t_name字段添加一个索引。

mysql> alter table test add index(t_name);Query OK, 0 rows affected (0.17 sec)Records: 0  Duplicates: 0  Warnings: 0

登录后复制

执行成功后,我们来看看结果。

mysql> describe test;+------------+-------------+------+-----+---------+-------+| Field      | Type        | Null | Key | Default | Extra |+------------+-------------+------+-----+---------+-------+| t_id       | int(11)     | YES  |     | NULL    |       || t_name     | varchar(50) | NO   | MUL | NULL    |       || t_password | char(32)    | YES  |     | NULL    |       || t_birth    | date        | YES  |     | NULL    |       |+------------+-------------+------+-----+---------+-------+4 rows in set (0.00 sec)

登录后复制

结果可以看出,t_name字段的Key这一栏由原来的空白变成了MUL。这个MUL是什么意思呢?简单解释一下:如果Key是MUL,那么该列的值可以重复,该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL。

以上就是mysql怎么添加索引的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1785651.html

(0)
上一篇 2025年2月20日 00:30:51
下一篇 2025年2月20日 00:31:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • MySQL表的索引优化策略和方法

    mysql表的索引优化策略包括:1.为经常查询的列创建索引;2.使用联合索引提高多列查询效率;3.定期检查和优化索引,避免滥用和失效;4.选择合适的索引类型和列,监控和优化索引,编写高效查询语句。通过这些方法,可以显著提升mysql查询性能…

    2025年4月27日
    000
  • MySQL索引失效:当数据占比超过一定阈值后,索引为什么失效?

    MySQL索引失效:数据占比过高引发的性能问题 MySQL索引是提升数据库查询效率的关键,但某些情况下索引会失效,导致查询性能急剧下降。本文将分析一个常见的索引失效场景:高数据占比导致索引失效。 问题:索引失效的特定条件 假设一个数据表包含…

    2025年3月5日
    300
  • MySQL索引失效:为何`shop_id`索引在数据量增多后失效?

    MySQL索引失效案例分析 本文分析一个实际案例,探讨MySQL索引失效的现象及原因。 数据库表结构如下: CREATE TABLE `ns_delivery_shop` ( `id` INT(10) UNSIGNED NOT NULL A…

    2025年3月5日
    300
  • MySQL索引失效:为何shop_id索引在特定条件下失效?

    MySQL索引失效案例分析 本文记录并分析一个MySQL索引失效的案例。 表结构 以下为ns_delivery_shop表的结构定义: CREATE TABLE `ns_delivery_shop` ( `id` int(10) unsig…

    2025年3月5日
    300
  • MySQL索引之哈希索引

    下面着力讲解建立自己的MySQL哈希索引,想法非常简单,在标准的B-Tree索引上创建一个伪哈希索引。它和真正的哈希索引不是一回事, 哈希索引(Hash Index)建立在哈希表的基础上,它只对使用了索引中的每一列的精确查找有用。对于每一行…

    数据库 2025年2月22日
    300
  • MySQL索引之前缀索引和索引选择性

    通常可以索引开始的几个字符,而不是全部值,以节约空间并得到好的性能。这使索引需要的空间变小,但是也会降低选择性。索引选择 有时需要索引很长的字符列,它会使索引变大而且变慢。一个策略就是模拟哈希索引。但是有时这也不够好,那? 通常可以索引开始…

    数据库 2025年2月22日
    300
  • MySQL在有索引列情况下select *的输出结果顺序

    创建一个表格,一个是主键列,一个是索引列。然后插入一批数据,调用select * from test_b,可以发现输出结果并没有按照Id有序, 创建一个表格,一个是主键列,一个是索引列。然后插入一批数据,调用select * from te…

    数据库 2025年2月22日
    300
  • MySQL查询不使用索引汇总

    众所周知,增加索引是提高查询速度的有效途径,但是很多时候,即使增加了索引,查询仍然不使用索引,这种情况严重影响性能,这里 众所周知,增加索引是提高查询速度的有效途径,但是很多时候,即使增加了索引,查询仍然不使用索引,这种情况严重影响性能,这…

    数据库 2025年2月22日
    300
  • MySQL中B+树索引的管理

    目前mysql数据库存在的一个普遍的问题是,所有对于索引的添加或者删除操作,mysql数据库是先创建一张新的临时表,然后把数据导入 索引的创建和删除可以通过两种方法;一种是alter table ,另一种是create /drop inde…

    数据库 2025年2月22日
    300
  • 有关 MySQL InnoDB 在索引中自动添加主键的问题

    只要用户定义的索引字段中包含了主键中的字段、那么这个字段就不会再被InnoDB自动加到索引中。但如果用户的索引字段中没有完全包  ㈠ 原理: 只要用户定义的索引字段中包含了主键中的字段、那么这个字段就不会再被InnoDB自动加到索引中 但如…

    数据库 2025年2月22日
    300

发表回复

登录后才能评论