MySQL——索引的创建与删除
文章目录
- MySQL——索引的创建与删除
- 1、创建索引的三种方式
- 1.1、建表时创建索引
- 1.2、修改表时创建索引
- 1.3、使用 CREATE INDEX 语句创建索引
- 2、删除索引
MySQL——索引的创建与删除
1、创建索引的三种方式
1.1、建表时创建索引
使用CREATE TABLE创建表时,除了可以定义列的数据类型外,还可以定义主键约束、外键约束或者唯一性约束,而不论创建哪种约束,在定义约束的同时相当于在指定列上创建了一个索引。
隐式创建:
在声明有主键约束、唯一性约束、外健约束的字段上,会自动添加相关的索引。
create table dept(dept_id int primary key auto_increment, -- 通过定义主键约束创建主键索引dept_name varchar(20)
);create table emp(emp_id int primary key auto_increment,emp_name varchar(20) unique , -- 唯一性约束dept_id int,constraint emp_dept_id_fk foreign key(dept_id) references dept(dept_id) -- 外健约束
);
显式创建:
显式创建基本语法:
CREATE TABLE table_name [col_name data_type ]
[ UNIQUE | FULLTEXT | SPATIAL] [INDEX | KEY] [index_name] (col_name [length])[ASC | DESc]
- UNIQUE、FULLTEXT和SPATIAL为可选参数,分别表示唯一索引、全文索引和空间索引,若不选则表示创建的是普通索引。
- INDEX与KEY为同义词,两者的作用相同,用来指定创建索引;
- index_name指定索引的名称,为可选参数,如果不指定,那么MySQL默认col_name为索引名;
- col_name为需要创建索引的字段列,该列必须从数据表中定义的多个列中选择;
- length为可选参数,表示索引的长度,只有字符串类型的字段才能指定索引长度;
- ASC 或 DESC 指定升序或者降序的索引值存储。
-- 创建普通索引
create table book(book_id int,book_name varchar(50),authors varchar(50),info varchar(50),comment varchar(50),year_publication year,index idx_bname(book_name) -- 声明索引,字段为book_name
);
-- 创建全文索引,全文索引在MySQL5.5及之前 MyISAM支持,InnoDB不支持
create table book1(book_id int,book_name varchar(50),authors varchar(50),info varchar(50),comment varchar(50),year_publication year,fulltext index fk_idx_cmt(comment(20)) -- 声明索引,字段为comment,长度取20,避免索引长度过长
);
1.2、修改表时创建索引
ALTER TABLE 语句创建索引语法:
ALTER TABLE table_name ADD [UNIQUE | FULLTEXT | SPATIAL][INDEX | KEY]
[index_name] (col_name [length] ,...)[ASC | DESC]
使用实例:
-- 创建普通索引
alter table book2 add index idx_cmt(comment);-- 创建唯一索引
alter table book2 add unique uk_idx_bname(book_name);-- 创建联合索引
alter table book2 add index mul_bid_bname_info(book_id,book_name,info);
1.3、使用 CREATE INDEX 语句创建索引
create index idx_cmt on book3(comment);-- 创建普通索引create unique index uk_idx_bname on book3(book_name);-- 创建唯一索引create index mul_bid_bname_info on book3(book_id,book_name,info);-- 创建联合索引
2、删除索引
使用 ALTER TABLE 删除索引
语法格式:
ALTER TABLE table_name DROP INDEX index_name;
使用实例:
alter table book3 drop index idx_cmt;alter table book3 drop index mul_bid_bname_info;
注意:添加 auto_increment 自增 约束字段的唯一索引不能被删除。
使用 DROP INDEX 删除索引
语法格式:
DROP INDEX index_name on table_name;
使用实例:
drop index idx_cmt on book2;drop index mul_bid_bname_info on book2;
注意:删除表中的列时,如果要删除的列为联合索引的组成部分,则该列也会从索引中删除。如果组成联合索引的所有列都被删除,整个索引也被删除。
MySQL——索引的创建与删除相关推荐
- MySQL索引的创建、删除和查看
此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 0.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的 ...
- mysql索引的创建和删除吗_MySQL索引的创建、删除和查看
此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的 ...
- MySQL 索引的创建、删除和查看操作
ybm(使用部门)一般只有几条记录,除了主关键字外对任何一个字段建索引都不会产生性能优化,实际上如果对这个表进行了统计分析后ORACLE也不会用你建的索引,而是自动执行全表访问 1.索引作用 在索引列 ...
- MySQL 索引的创建、删除
MySQL中索引的创建有三种方法,索引的删除有两种方法. 一.创建索引 (1)使用create index # 1.创建普通索引 create index 索引名 on 表名 (列名[(限制索引长度) ...
- mysql索引的创建及删除
mysql8 索引 创建索引 创建主键索引 创建唯一键索引 创建普通索引 创建全文索引 删除索引 索引创建原则 创建索引 创建主键索引 create table [表名](列1 数据类型1, 列2 数 ...
- MySQL索引的创建与删除
创建索引: 创建索引主要有几种形式,主要区分是在建表的前后进行创建索引. 建表的时候创建索引: CREATE TABLE table_name(column1 类型,column2 类型,...key ...
- MySQL查看、创建和删除索引的方法
本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别 ...
- mysql索引 删除和创建_mysql索引和唯一索引的创建和删除
一.本机环境 二.索引的创建删除 三.唯一索引的创建和删除 一.本机环境 系统环境:linux centos 7.2 mysql版本:mysql-5.7.9 安装目录:/application/mys ...
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
最新文章
- 深度学习机器臂控制_深度学习新进展:可自建任务解决模型的机器人问世
- 渐变显示渐变消失的BackgroundView
- Ubuntu 12.04(64位)下载并编译 Android 4.1 源码[只有2条命令]
- 微信hash ajax,基于vue hash模式微信分享#号的解决
- java 解析p12_java读取*.p12证书的信息 | 学步园
- Pandas 读取 csv 得 DataFrame 转换成 List
- MCS:连续随机变量——Erlang分布
- 计算机安全韩亮,韩亮
- 什么是电子商务——百科
- java hl7_java-发送HL7消息后何时关闭并重新打开套接...
- 堂食扫码点餐的小程序设计开发
- 理解单调栈与单调队列
- 赊了两串冰糖葫芦才写出来的小结
- 项目排期工具OmniPlan实用指南
- 【Fragment】FragmentManager和FragmentTransaction使用
- 韩国多佑集团软件和服务外包基地纳米大厦大连揭幕
- stm32培训视频,欢迎大家入门学习。
- 中国成人血脂异常防治指南(2016 年修订版)-学习笔记
- [高通SDM450][Android9.0]默认取消dm-verity以及解决OTA校验vbmeta失败问题
- Easy3DCGAL 凸包算法(三维)
热门文章
- 考研捡.漏指南这几所985院校专业去年一志愿没招满
- Javaweb-初识(Tomcat服务部署、创建Javaweb项目、Servlet Post请求案例)
- stm32hal库红外激光雷达测距
- Android TextView局部下划线及点击弹出popu
- Bootstrap Table表格分页的使用及分页数据(Excel)导出
- HarmonyOS设备开发:HarmonyOS烧录出现“internal/modules/cjs/loader.js:883 throw err;”的解决办法
- 刘韧专访陈一舟:回顾ChinaRen时代 (ZT)
- Java2 —— Java基础语法
- 【转】word排版宏的使用
- java2实用教程实验指导与习题解答第四版答案_java2实用教程实验指导与习题解答...