mysql索引,mysql创建索引,mysql删除索引

1.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。今天就简单地给大家演示一下mysql中索引的创建,查询以及删除。

2.首先随便建立一张表,SQL语句如下:CREATE TABLE IF NOT EXISTS `student` (

`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学号',

`name` varchar(64) NOT NULL DEFAULT '' COMMENT '姓名',

`sex` tinyint(1) NOT NULL COMMENT '性别',

`age` tinyint(2) NOT NULL COMMENT '年龄',

`class` varchar(64) NOT NULL DEFAULT '' COMMENT '班级',

PRIMARY KEY (`id`)

) ENGINE=MYISAM DEFAULT CHARSET=utf8 COMMENT='学生表';

3.可以看到,在创建表的SQL语句中,已经建立了一个主键索引,此时查看表中索引:SHOW INDEX FROM `student`,结果如图所示:

4.当然,我们还可以在基础上添加别的索引,比如说唯一索引。假设每个学生的名字是不可以重复的,那么就可以在name字段上添加一个唯一索引:ALTER TABLE `student` ADD UNIQUE `stu_name` (`name`);

此时,再次查看表中索引,SHOW INDEX FROM `student`,结果如图所示:

5.然后再给班级添加一个普通索引:ALTER TABLE `student` ADD INDEX `stu_class` (`class`);

查看表中索引,SHOW INDEX FROM `student`,结果如图所示:

6.接下来是删除索引,删除掉唯一索引和普通索引:ALTER TABLE `student` DROP INDEX `stu_name`;

ALTER TABLE `student` DROP INDEX `stu_class`;

然后查看表中索引,SHOW INDEX FROM `student`,结果如图所示:

7.这时,就剩下一个主键索引了,如果直接删除的话将会报错:ALTER TABLE `student` DROP PRIMARY KEY;

原因:因为主键索引关联的id键为自动增长;

8.需要先将id键的自动增长取消:ALTER TABLE `student` MODIFY `id` int(10) NOT NULL COMMENT '学号'

再次执行:ALTER TABLE `student` DROP PRIMARY KEY;

查看表中索引,SHOW INDEX FROM `student`,表中已经没有索引啦

mysql中索引创建 查看和删除语句_MySQL如何创建和删除索引?相关推荐

  1. Mysql创建数据库表,查看表结构,查看表中数据,查看建表语句

    Mysql创建数据库表,查看表结构,查看表中数据,查看建表语句 1.创建数据库表 create table t_student( 表属性以,隔开 最后一行不用,): 2.查看表结构 desc t_st ...

  2. mysql中索引创建 查看和删除语句_MySQL索引的创建、删除和查看(学习中)

    1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍. 例如,有 ...

  3. 如何查询mysql中执行效率低的sql语句

    一些小技巧 1. 如何查出效率低的语句? 在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺 ...

  4. Mysql中的explain查看执行计划

    Mysql中的explain查看执行计划 1.explain是什么? 查看执行计划. 2.怎么使用? explain + sql语句. 3.执行计划包含的信息: id,select_type,tabl ...

  5. Mysql中explain命令查看语句执行概况

    Mysql中可以使用explain命令查看查询语句的执行方式,使用方法举例:explain + 查询语句 例如:explain select * from user_info 几个重要的字段说明: t ...

  6. mysql执行效率低_如何查询mysql中执行效率低的sql语句

    展开全部 一.MySQL数据库有几个配置选项可以32313133353236313431303231363533e59b9ee7ad9431333337373563帮助我们及时捕获低效SQL语句 1, ...

  7. mysql中in和between_MySQL的WHERE语句中BETWEEN与IN的用法和他们的区别

    MySQL BETWEEN 用法 not可以对between-and取反. 1.数值型 BETWEEN 运算符用于 WHERE 表达式中,选取介于两个值之间的数据范围.BETWEEN 同 AND 一起 ...

  8. mysql中用于实现事务提交的语句是什么,实现事务提交的语句是什么

    在SQL语言中,实现事务的提交的语句是COMMIT,REVOKE是废除某用户或某组或所有用户的访问权限,在操作完事务时,一定要使用COMMIT语句提交事务,否则,事务操作会失败. 在SQL语言中,实现 ...

  9. 2011-10-18 22:20 mysql 中IFNULL 、IF、CASE 语句介绍

    假设有一数据表的状态字段设计为varchar类型,有以下值:NULL,pending,pending refund,refund,cancel.我们知道查询状态为cancel的订单,SQL语句可以这样 ...

最新文章

  1. iostat 输出解析
  2. boost::spirit模块从不同序列中元素的解析输入填充单个融合序列
  3. php无限极分类设计,递归方式已经淘汰了
  4. idea创建管理项目
  5. Visual Studio 解决方案版本从v12-->v14
  6. 移动路由器刷linux,Linux小课堂开课了(7)-三线IP刷路由-移动-联通-电信
  7. RHEL脚本更换YUM源(sohu)
  8. 大华ITC215WEB相机常用功能设置说明
  9. NISP和CISP考试通过率怎样?
  10. python植物大战僵尸辅助_Python自学入门,如何制作植物大战僵尸
  11. yii2-jui的基本使用
  12. 财帮子(caibangzi.com)网站架构
  13. 在java中 int类型对应的包装类是_Java语言对简单数据类型进行了类包装,int对应的包装类是______。...
  14. Mapper method 'com.XXX.dao.XXXMapper.XXX' has an unsupported return type: class XXX
  15. linux打印函数名,linux kernel 打印函数指针对应的函数名方法
  16. system.exe,alien32.exe,ftsKetNt.7ps,SysKetNt.Sys, iexpe.exe等1
  17. 量化分析师的Python日记【Q Quant 之初出江湖】
  18. Google Play关键词排名优化
  19. 支持中文首拼 快速查询的电话本(blackberry)
  20. 永磁同步电机磁链观测Matlab仿真,基于磁链观测器的永磁同步电动机无传感器控制技术研究...

热门文章

  1. 以下关于组装微型计算机的叙述 不正确的是,昆明理工大学 计算机系统练习题...
  2. openmv识别物体并与单片机通信(STM32)
  3. (二)深入了解机器翻译
  4. C#中的深度学习:使用OpenCV进行硬币检测
  5. Abp vnext Web应用程序开发教程 7 —— 作者:数据库集成
  6. 快速轻巧的CQRS和事件源解决方案
  7. 张杰和机器人_科学艺术两开花,国内首个机器人乐队诞生有什么重要的意义?...
  8. c语言定义学生结构体类型,C语言中结构体的三种定义方式
  9. 华东电脑申威服务器_华东电脑(600850):申威服务器首批量产下线 国产化业务落地里程碑事件[配资公司会议室]...
  10. 爬虫python入门_如何入门Python爬虫?爬虫原理及过程详解