大家都知道,mysql 一个表中可以创建多个索引,但是在执行一条查询语句的时候,mysql 只能选一个索引,如果我们没有指定 mysql 使用某个索引,那么就是由 mysql 的优化器来决定要使用哪个索引了,然而,mysql 也是会有选错的时候。
下面来学习互联网行业使用最为广泛的关系型数据库 MySQL,它的知识点结构图如下所示。
MySQL的基本操作可以包括两个方面:MySQL常用语句如高频率使用的增删改查(CRUD)语句和MySQL高级功能,如存储过程,触发器,事务处理等。而这两个方面又可以细分如下:
原子性(atomicity):一个事务必须视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。
大家好,我是猫头虎博主🐯!欢迎来到这篇关于 MySQL 查询语句的全面指南。无论你是刚开始接触数据库,还是一个经验丰富的开发者,本文都将为你提供宝贵的知识和实用技巧。让我们一起探索如何更有效地使用 MySQL 查询来解决实际问题!
SQL 层面:SQL 的生命周期、权限管理、count(*) 的底层原理、底层的排序原理、连表原理。存储引擎层面:InnoDB 存储引擎的底层架构、索引的算法、事务的原理、锁机制、隔离机制、幻读
MySQL存储过程、索引和分表是用于提高查询效率的三种不同方法,它们各自对查询效率有不同的影响和应用场景。以下是它们的对比:
第一章 了解SQL第二章 MySQL 介绍第三章 使用 MySQL第四章 检索数据第五章 排序检索数据第六章 过滤数据第七章 数据过滤第八章 通配符过滤第九章 正则搜索第十章 创建计算字段第十一章 数据处理函数第十二章 汇总数据第十三章 数据分组第十四章 使用子查询第十五章 联结表第十六章 高级联结第十七章 组合查询第十八章 全文本搜索第十九章 插入数据第二十章 更新和删除数据第二十一章 表的增删改第二十二章 视图第二十三章 存储过程第二十四章 游标第二十五章 使用触发器第二十六章 事务处理第二十七章 全球化和本地化第二十八章 安全管理第二十九 数据库维护第三十章 改善性能
培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习 MySQL5.6 也不例外。
索引虽然是个可以提高查询效率的好东西,但是吗世间万物自然有好有坏,索引有索引的好处,自然就会有其不完美的地方,建立索引之后,MySQL除了维护数据文件之外自然又多了一份维护索引文件的任务,如果数据频繁的变动,维护两份索引文件的MySQL自然是有些招架不住。反馈的效率自然就会慢于没有索引的时候,索引文件自然是要有它落盘的地方,所以就要占用空间喽,虽然硬盘不贵但是这些都是要加进项目的预算哦。所以我们就要了解一下索引的特性才能有效地趋利避坏。
增删改查:视图的增删改查操作与一般表的操作相同,使用insert update delete select即可,但是原数据表的约束条件仍然对视图产生作用。
创建数据库时,显式指定字符集和排序规则,同时,当切换到当前数据库后,参数 character_set_database,collation_database 分别被覆盖为当前显式指定的字符集和排序规则。举个简单例子,创建数据库 ytt_new2,显式指定字符集为 latin1,同时排序规则为 latin1_bin。之后在切换到数据库 ytt_new2 后,对应的系统参数也被修改。
好了,目前我们已经大概理解了什么是 用户变量,然后我们就可以开始学习使用 用户变量 来进行 参数传递 的使用了。
在项目中我们会经常遇到慢查询,当我们遇到慢查询的时候一般都要开启慢查询日志,并且分析慢查询日志,找到慢sql,然后用explain来分析
聚集函数(aggregate function) 运行在行组上,计算和返回单个值的函数
无论是运维、开发、测试,还是架构师,数据库技术都是一个 必备加薪神器,那么,一直说学习数据库、学 MySQL,到底是要学习它的哪些东西呢?
上一篇mysql进阶优化篇,我们介绍了数据库的性能分析工具,知道了怎么发现数据库的性能问题,这一篇博客我们将介绍索引失效的10种情况及原理
SELECT department_id, location_id FROM departments
因为查询语句SELECT的使用非常频繁,所有有很多人将查询语句抽取出来作为一类:
存储引擎是MySQL中特有的一个术语,其它数据库中没有。(Oracle中有,但是不叫这个名字)存储引擎这个名字高端大气上档次。实际上存储引擎是一个表存储/组织数据的方式。 不同的存储引擎,表存储数据的方式不同。
该表存放这存储过程和存储函数的参数信息以及存储函数的返回值,及我们一般意义上的存储过程和函数,统称为stored routines
有读者留言面试有点虚,数据库都忘的差不多了,与其临时抱佛脚,不如我们把MySQL的知识点梳理一遍,心中有知识点,面试不慌。
下载地址:https://dev.mysql.com/downloads/mysql/
触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
1、触发器的作用? 触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
1.安装配置MySQL workbench或者sqlyog客户端,并实现服务的连接。
无论是运维、开发、测试,还是架构师,数据库技术是一个必备加薪神器,那么,一直说学习数据库、学MySQL,到底是要学习它的哪些东西呢?
本文索引优化包含对 MySQL索引(三)explain实践,优化 MySQL 数据库查询性能 的一些补充。
这篇博客讲的是SQL server的分页方法,用的SQL server 2012版本。下面都用pageIndex表示页数,pageSize表示一页包含的记录。并且下面涉及到具体例子的,设定查询第2页,每页含10条记录。
培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习 MySQL 5.6 也不例外。
培养兴趣 兴趣是最好的老师,不论学习什么知识,兴趣都可以极大地提高学习效率。当然学习MySQL 5.6也不例外。 夯实基础 计算机领域的技术非常强调基础,刚开始学习可能还认识不到这一点,随着技术应用的深 入,只有有着扎实的基础功底,才能在技术的道路上走得更快、更远。对于MySQL的学习来说, SQL语句是其中最为基础的部分,很多操作都是通过SQL语句来实现的。所以在学习的过程中, 读者要多编写SQL语句,对于同一个功能,使用不同的实现语句来完成,从而深刻理解其不同之处。 及时学习新知识 正确、有效地利用搜索引擎,可以搜索到很多关于MySQL 5.6的相关知识。同时,参考别 人解决问题的思路,也可以吸取别人的经验,及时获取最新的技术资料。 多实践操作 数据库系统具有极强的操作性,需要多动手上机操作。在实际操作的过程中才能发现问题, 并思考解决问题的方法和思路,只有这样才能提高实战的操作能力。
以往的数据结构和业务逻辑比较简单,所以单条SQL语句就可以实现业务的需要。但随着技术的进步,用户计算的复杂程度也越来越高。要实现复杂的计算,单条SQL语句就显得不是很够了。将一个复杂目标分解为几个有逻辑、清晰、可执行的步骤,数据库开发人员对循环和判断语句、多层分支以及更精确的数据横向操作有了额外的需要。基于这些需要,我们引入了存储过程。
SQL是Structured Query Language的缩写,它是一种用于访问和管理关系型数据库的语言。
脏读:读取到了没有提交的数据, 事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的 数据是脏数据。 不可重复读:同⼀条命令返回不同的结果集(更新).事务 A 多次读取同⼀数据,事务 B 在事务A 多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同⼀数据时,结果 不⼀致。 幻读:重复查询的过程中,数据就发⽣了量的变化(insert, delete)。
SQL 语言不同于其他编程语言的最明显特征是处理代码的顺序。在大多数据库语言中,代码按编码顺序被处理。但在 SQL 语句中,第一个被处理的子句式 from,而不是第一出现的 select。
truncate和不带where子句的delete,以及drop都会删除表内的数据
通过上述参数可以了解当前DB应用是插入更新为主还是查询为主,以及各类的SQL执行比例。
本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水.
本文是《SQL必知必会》一书的精华总结,帮助读者快速入门SQL或者MySQL,主要内容包含:
墨墨导读:本文为开发人员提供了一些MySQL相关的知识点,包括索引、事务、优化等,下面以问答形式形式呈现出来。
事务就是将一组SQL语句放在同一批次内去执行,只要一个SQL语句出错,则该批次内的所有SQL都将被取消执行。
本文主要受众为开发人员,所以不涉及到 MySQL 的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水。
上面的参数是对所有存储引擎的表进行累计,下面参数是针对InnoDB存储引擎的,累加算法略有不同
因为之前看过《Mysql必知必会》,所以看到这本书的名字之后挺感兴趣的,但是内容比较基础和入门所以大多是跳读的,本次笔记更多是结合过去所学内容。
领取专属 10元无门槛券
手把手带您无忧上云