后端学习之MySQL(四)——实践和索引

. 如何导出数据库的表数据

数据库表结构(字段信息等)导出Word,Excel,HTML,CHM等格式_如何将数据库的表各字段导出-CSDN博客

使用Navicat 导出 MySQL 数据库表结构、表数据到Excel表格中_navicat导出表结构为表格-CSDN博客

WorkBench安装教程_mysql workbench安装教程-CSDN博客使用教程也包括在里面了

二. 练习题中的查漏补缺

  1. count(1)作用

例子:统计男生女生的人数

select gender,count(1) from student group by gender;

作用统计在分组中每一组对应的行数项数

  1. select ... group by 出现报错

问题重述

使用group by语句违背了sql_mode=only_full_group_by因为mysql5.7之后默认的模式ONLY_FULL_GROUP_BY

两种解决方法

临时

在当前窗口执行

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

但是该次修改仅在窗口有效只是临时修改

永久

找到my.ini在尾部添加内容

[mysqld] 

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

.索引

作用加速查找

原因索引底层基于B+ Tree存储的

分类

非聚簇索引:通过存储地址让数据和索引结构分开存储——myisam引擎

聚簇索引;通过树结点存储主键来让数据主键索引结构存储在一起——innodb引擎

一般使用innodb引擎

常见的索引类型

·主键索引加速查找不能为空不能重复约束

·唯一索引加速查找不能重复 +联合唯一索引

·普通索引加速查找

主键联合主键索引

唯一联合唯一索引

索引联合索引

操作表

如何命中索引

只要通过索引列去搜都可以命中索引

特殊情况无法命中索引

类型不一致

比如整型去查找字符索引但是主键不受类型不匹配的影响

使用不等于

!=

like模糊匹配的时候

通配符字符串前面的时候使得匹配变慢

执行计划

定义

可以通过explain关键字模拟优化器执行SQL语句

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值