MySQL
文章平均质量分 74
做过开发都知道删库跑路这个梗,在互联网时代,数据无疑是最值钱的,所以学会优雅的操作数据库是一个程序猿必修的课程
Jayden
自信源于努力!
展开
-
刚参加工作的表弟问我如何设计一个表
先说说为什么设计表很重要,抽象这两个字经常出现在招聘的JD里,比如具备抽象能力,实际开发中我们也会听到领导说要设计要抽象,要不以后开发成本很高。吃惊是年纪轻轻的小伙子竟然知道设计表的重要性,还知道来问表哥,欣慰的是表弟一直在思考,一直在进步!原创 2023-10-15 22:33:29 · 474 阅读 · 0 评论 -
第四篇:trace工具查看MySQL如何选择索引
mysql如何计算cost成本,为什么有时候扫全表会比走索引效率高呢?原创 2022-05-14 21:42:05 · 339 阅读 · 0 评论 -
第三篇:SQL是如何执行的?
MySQL整体架构图 MySQL架构分为server层与存储引擎层,server层是MySQL最核心的一部分,它包含连接器,存储引擎(8之前),分析器,优化器,执行器。存储引擎是用于存取数据的,是可插拔的,目前主流的存储引擎是Innodb。以下方SQL为例来叙述一条SQL是如何执行的:DROP TABLE IF EXISTS `user_phone`;CREATE TABLE `user_phone` ( `id` int(11) NOT NULL, `user_id` int(11)原创 2022-05-09 09:43:24 · 767 阅读 · 0 评论 -
第二篇:Explain解析及常见SQL优化技巧
本文内容基于MySQL5.7什么是Explain Explain是一个关键字,可以查询select语句的执行情况, 比如SQL可能使用什么索引,实际使用了什么索引。它的用法非常简单,在查询语句前加上explain关键字,执行后会得到类似下方的结果,里面的每一列会在下方详细介绍。本文主要解释这些字段的含义,需要注意的是针对的是查询语句,下文不在强调。列含义说明 先枚举出字段及描述,在有个大致了解的情况下,再结合案例详细描述。字段描述id复杂sql会包含多个查询(多个s.原创 2022-05-06 21:35:46 · 1041 阅读 · 0 评论 -
我说我精通MySQL索引,面试官问我:你心里有B树(数)吗?
我说我精通MySQL索引,面试官问我:你心里有B树(数)吗?原创 2022-04-16 15:52:39 · 736 阅读 · 2 评论 -
(sql语句错误解决方法)处理百万订单遇到的问题:Every derived table must have its own alias
这个问题涉及到MySQL中的派生表,涉及到派生表就必须给这个派生表一个别名。如果没有别名就会出现如标题所示的错误。如果读者理解select查询模型的话,对这个问题应该就会好理解一点。 下面用一个实际案例来说明: 原始需求是补订单,那么补完订单你怎么验证补进去的单是没问题的呢?其中一个就是查看是否有脏数据。我的做法就是先把补进去的单的订单号都查出来,然后通过order by 分组,通过having与count函数来找出是否有重复数据(重复数据就是脏数据)。很多人第一次写,思路都是正确的,就像下面这原创 2020-12-15 08:31:03 · 496 阅读 · 0 评论 -
解决Navicat 导出Excel数字变为科学计数法,并且补零问题
问题描述 这个问题不止是Navicat导出查询数据有问题,问题出现的原因是Excel中的单元格,如果是纯数字且数字大于12位,会自动转化为科学计数法;如果数字大于15位,不仅用于科学技术法表示,还会只保留高15位,其他位都变0。所以涉及Excel都需要注意这个问题,比如你在txt文件输入一个大于15位的纯数字,然后粘到Excel表格中,这时你会发现数字变了,需要注意的是,这种情况是不可逆的,因为只保留15位数字,其他都变成0了,你不知道变成0的是什么数字。解决方案 在字符串结尾加上制表符"\t"原创 2020-12-14 19:11:29 · 2453 阅读 · 0 评论 -
同事问我MySQL子查询为什么失败,我告诉他子查询结果当成派生表千万记得加别名...
子查询没有生效,告诉你SQL语句错误,来看看我怎么学的。原创 2020-12-14 14:45:02 · 3051 阅读 · 0 评论 -
MySQL多表查询及原理分析
多表查询what是多表查询先建好两张表供等下学习使用: 多表查询的作用:查询多个表的不同列,组成我们想要的数据。多表查询的分类:笛卡尔积现象 如图,如果不设置条件的话,dept的每条数据和emp的每条数据组合,这样就形成了笛卡尔积现象,这样的查询结果不是我们想要的。 如何清除笛卡尔积现象的影响 我们发现不是所有的数据组合都是有用的,只有员工表.dept_id = 部门表.id 的数据才是有用的。所以需要 通过条件过滤掉没用的数据。内连接 用左边表的记录去匹配右边表的记原创 2020-12-14 12:06:23 · 1783 阅读 · 0 评论 -
学会select查询模型,从此写sql思路清奇!
在实际开发中,增删改其实用的不是很多,主要是查。根据需求操作数据库取到自己想要的结果。sql语句与java代码是不一样的,在使用sql命令时,是没有快捷输入的方式的,所以我觉得出现问题更多在于使用中文输入,而不在于条件繁琐。所以在有输入引号时建议用单引号,忘了双引号,虽然这两个都行,但是双引号需要用到shift键,一不注意你就切到中文输入了。 数据库查询的大概思路:其实查询语句l流程是固定的,称为select模型,变的是条件,只要多实践几次就能熟练掌握了。下面上干货了!查询固定套路:sele原创 2020-12-13 22:19:38 · 230 阅读 · 0 评论 -
MySQL基础语法,适合初学者看
1.数据库概述1.1数据的存储方式第一种存储方式是创建对象(实际上new出来的对象不就是用来存数据的嘛),创建对象就是在堆内存中为对象请求了一个空间,相当于是将对象存入堆内存。第二种方式存文件中,这个在IO流部分我们就是这么处理的,但是缺点确很致命,每次增删改都需要获得文件中所有的信息,改完后在全部放入文件。第三种方式数据库看下面,你懂得。1.2what是数据库按照数据结构来组织、存储和管理数据的仓库。本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。所有的关系型数据库都可.原创 2020-12-13 22:10:00 · 248 阅读 · 0 评论