mysql索引的创建及删除

创建索引

创建主键索引

create table [表名](1 数据类型1,2 数据类型2, ...); 
alter table [表名] add prinmary key(列名); 创建后再添加主键索引

create table [表名](1 数据类型1 primary key,2 数据类型2, ...); 在创建表的时候,直接在字段后指定primary key

create table [表名](1 数据类型1,2 数据类型2, ..., primary key(列名)); 在创建表的最后,指定某列或某几列为主键索引
主键索引的特点:
	一个表中,最多有一个主键索引,也可以使用复合主键
	主键索引的效率高(主键不可重复)
	创建主键索引的列,他的值不能为null,且不能重复
	主键索引的列基本上是int

创建唯一键索引

create table [表名](1 数据类型1 primary key,2 数据类型2 unique, ...); 在创建表时,在某列后面直接指定unique唯一属性

create table [表名](1 数据类型1 primary key,2 数据类型2, ..., unique(列名)); 在创建表的最后,指定某列或某几列为唯一键索引

create table [表名](1 数据类型1 primary key,2 数据类型2, ...);
alter table [表名] add unique(列名); 创建表之后再增加唯一键索引 
唯一键索引的特点:
	一个表中,可以有多个唯一索引
	查询效率高
	如果在某一列建立唯一索引,必须保证这列不能有重复数据
	如果一个唯一键索引指定not null,等价于主键索引

创建普通索引

create table [表名](1 数据类型1,2 数据类型2, ..., index(列名)); 在表的定义最后,指定某列为索引

create table [表名](1 数据类型1,2 数据类型2, ...);
alter table [表名] add index(列名); 创建完表后指定某列为普通索引

create table [表名](1 数据类型1,2 数据类型2, ...);
create index [索引名] on [表名](列名); 创建一个自定索引名的索引
普通索引的特点:
	一个表中可以与多个普通索引,普通索引在实际开发中用的比较多
	如果某列需要创建索引,但是该列有重复值,那么就应该使用普通索引

创建全文索引

当对文章字段或有大量文字的字段进行检索时,会使用到全文索引,要求表的存储引擎必须是MyISAM,
并且默认的全文索引仅支持英文,不支持中文,如果对中文进行全文检索可以使用coreseek

删除索引

删除主键索引
alter table [表名] drop primary key;

删除其他索引
alter table 表名 drop index 索引名;

drop index 索引名 on 表名;

索引创建原则

比较频繁作为查询条件的字段应该创建索引
唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件
更新非常频繁的字段不适合作创建索引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL创建删除索引的方法如下: 创建索引: 1. 创建普通索引:使用CREATE INDEX语句,语法为:CREATE INDEX 索引名 ON 表名 (列名\[(限制索引长度)\]); 2. 创建唯一性索引:使用CREATE UNIQUE INDEX语句,语法为:CREATE UNIQUE INDEX 索引名 ON 表名 (列名); 3. 创建全文索引:使用CREATE FULLTEXT INDEX语句,语法为:CREATE FULLTEXT INDEX 索引名 ON 表名 (列名); 删除索引: 1. 删除索引:使用ALTER TABLE语句,语法为:ALTER TABLE 表名 DROP INDEX 索引名; 2. 删除PRIMARY KEY索引:使用ALTER TABLE语句,语法为:ALTER TABLE 表名 DROP PRIMARY KEY。注意,一个表只能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL删除第一个UNIQUE索引。 请根据具体需求选择适当的语句来创建删除索引。 #### 引用[.reference_title] - *1* *2* [MySQL(一)索引创建删除](https://blog.csdn.net/dlx29376/article/details/102149390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MySQL 索引创建删除](https://blog.csdn.net/chengyj0505/article/details/128376127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值