![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 62
JustDI-CM
对于可控的事情要保持谨慎,对于不可控的事情,要保持乐观,人只能做自己能力范围内的事情,你要接受这个现实,并且以乐观的心,去应对这一切
展开
-
【第三篇】MySQL 索引失效的常见原因【重点】
where 条件后的字段 age 用了大于等于where code='001' and age>18 and name='张飞';从上图中看出索引长度变成: 96 , 96 = 30*3 + 2 + 4 ,只用到了两个索引字段 code 和age ,而 name 字段的索引失效了。where code='001' and name='张飞' and age>18;转载 2023-09-22 11:18:50 · 199 阅读 · 0 评论 -
利用Explain优化sql 详解
Explain关键字是Mysql中的常用,通常都会使用Explain来,从而快速的找出sql的问题所在。在讲解Explain之前首先创建需要的,执行后可以看到执行的结果如下:可以看到这里有12个字段那个且都有对应的值,这就是explain的执行计划,能看懂这个执行计划,你离精通sql优化就不远了,下面就来详细的介绍这12个字段分别表示什么意思。转载 2023-09-22 10:47:15 · 1371 阅读 · 0 评论 -
MySQL-MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用
在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。转载 2023-01-05 15:00:09 · 223 阅读 · 0 评论 -
MySQL-字符串按照数值排序
MySQL有个表字段设计的时候,设置为了varchar类型,存取的却是数值,后续有业务需要按照此字段排序,获取最大值。MySQL的varchar与int计算时,会转换为int。这两个函数都是用于格式转换的,二者没什么区别,以上4个sql的执行结果都为。这个并不是想要的结果。...原创 2022-07-21 17:29:26 · 3208 阅读 · 0 评论 -
MySQL-mysql索引详解
🍅 作者简介:哪吒,CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 关注公众号【哪吒编程】,回复1024,获取Java学习路线思维导图、大厂面试真题、加入万粉计划交流群、一起学习进步 目录 一、MySQL三层逻辑架构 1、第一层负责连接管理、授权认证、安全等等。 2、第二层负责解析查询 3、第...转载 2022-05-31 16:30:47 · 2854 阅读 · 0 评论 -
MySQL-IF()函数
有时候表中存储的某个字段值是两种码值,如:0-代表否,1-代表是返回给前端展示时,又不能是码值,需要代码转换下。其实可以使用IF()函数其语法格式如下:IF(expr1,expr2,expr3)即如果expr1为真,那么IF()返回 expr2,否则返回expr3。SELECT flag,IF ( flag = '1', '是', '否' ) FROM test_1;...原创 2022-01-26 16:36:25 · 1505 阅读 · 0 评论 -
MySQL-比较两个表不同的数据
比较两个表不同的数据原创 2022-01-14 13:22:43 · 9390 阅读 · 0 评论 -
MySQL-自定义排序
1.需求:根据证件类型排序,将身份证排至第一位。2.现状:先前对证件类型是没有排序要求的,所以证件类型的编码是随意编排的。但是在这次需求优化中,提了出来,要将证件类型排序。在浅薄的MySQL知识中,order by明显不能满足了,还与人争论了半天。最后人家扔来一个order by filed嗯。。。。。。3.解决方案:order by field(column,value1,value2,value3,……)eg:SELECT * FROM test1 ORDER BY FI.原创 2021-07-12 17:13:16 · 92 阅读 · 0 评论 -
MySQL-MySQL必知必会摘要3
28.等值联结(equijoin),它基于两个表之间的相等测试。这种联结也称为内部联结。29.别名除了用于列名和计算字段外,SQL还允许给表名起别名。这样做有两个主要理由: 缩短SQL语句; 允许在单条SELECT语句中多次使用相同的表。--一般用表名的首字母就行30.存在两种基本的外部联结形式:左外部联结和右外部联结。它们之间的唯一差别是所关联的表的顺序不同。--想清楚以哪个表为主就成了31.多数SQL查询都只包含从一个或多个表中返回数据的单条SELECT语句。MySQL也允许执行原创 2021-04-28 17:39:04 · 94 阅读 · 0 评论 -
MySQL-MySQL必知必会摘要2
14.最常使用的通配符是百分号(%)。在搜索串中,%表示任何字符出现任意次数。--常常用于模糊查询15.另一个有用的通配符是下划线(_)。下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符。16.MySQL是不区分大小写的,如果需要可以用binary关键词SELECT * FROM vendors WHERE BINARY vend_name LIKE 'AC%';--你永远不知道业务想要什么17.在确实需要使用通配符时,除非绝对有必要,否则不要把它们用在搜索模式的开始处。把通配原创 2021-04-27 17:41:18 · 106 阅读 · 0 评论 -
MySQL-MySQL必知必会摘要1
1.数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。--我们平常说的MySQL、oracle、db2是DBMS,并不是数据库。但是不用在意这些细节。2.数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的,这表示数据库中没有其他表具有相同的名字。--身份证号3.每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。--猫窝进不了狗4.主键(primary key)①一一列(或一组列),其值能够唯一区分表中每个行。主键的最好习惯 除MySQL原创 2021-04-26 19:21:04 · 202 阅读 · 0 评论 -
MySQL-依据字段值返回结果(CASE WHEN)
1.需求:一张表,根据就诊类型(A-门诊,B-住院),取出对应的日期(门诊/住院开始日期,门诊/住院结束日期)2.表中字段说明: TherapyClassification-就诊类型, MZEnterDate-门诊开始日期", MZOutDate-门诊结束日期", ZYEnterDate-住院开始日期", ZYOutDate-住院结束日期", SQL语句: SELECT TherapyClassification 就诊类型, C...原创 2020-09-25 19:36:58 · 2529 阅读 · 0 评论 -
Java配置21-centos7卸载、安装、排错mysql5.7-图文
前几天帮同事安装了mysql,想着很简单,上手装的时候遇到了各种问题,在此做个记录。1.卸载mysql前面同事安装了mysql,但是没有成功,需要先卸载。查看安装情况:rpm -qa |grep -i mysql卸载:yum -y remove mysql*(上条命令的执行结果)删除文件:find / -name mysqlrm -rf 删除上面查到的文件2.安装1)下载安装包官网地址:https://dev.mysql.com/download..原创 2020-08-19 20:35:38 · 402 阅读 · 0 评论 -
MySQL-MYSQL中IN与EXISTS的区别
1.最近学习别人写的代码时,发现了MySQL中exists的用法,查了一些资料。发现一篇博客写的不错,准备搞过了。顺便吐槽一下,CSDN竟然没有一键转载。MYSQL中IN与EXISTS的区别转载 2020-07-31 16:51:39 · 158 阅读 · 0 评论 -
MySQL-两个表关联查询
新项目,正式参加后端开发,业务基础不谈(基本没有),sql基础是非常薄弱的。这里记录的都是很基本的东西,用作总结。这次涉及的是两个表之间的关联查询。1.表单和表格如下:分析:批次号、理赔申请号、申请日期等存储在信息表(Info),出险人、申请人三要素存储在客户表(Customer)。两个表之间由客户ID关联。想了一天,查了资料,也只能写出以下sql了。SELECT a.BatchNo 批次号, a.ClmApplyNo 理赔申请号, c.NAME 出险人姓名, c.IdTyp.原创 2020-07-29 17:30:16 · 9672 阅读 · 0 评论 -
MySQL-分组后取最新值
1.需求:一张表中有多组数据,要求取出每组的最新一条的某些字段值。例如,成绩表中存储了学校所有学生(一年级、二年级、三年级)所有学科(语文、数学、英语)的成绩,要求取出某个学生的最近一次所有学科的成绩。2.实现:SELECT 学科, ( SELECT 成绩 FROM 成绩表 WHERE 学科 = a.学科 AND 年级 = a.年级 AND 班级 = a.班级 AND 学生名字 = a.学生名字 ORDER BY Date DESC,原创 2020-06-17 17:31:50 · 531 阅读 · 0 评论 -
MySQL-先排序后去重
前言:近来开始写后端,先从小bug入手,记录下有趣的SQL1.需求:根据表中的a字段排序,然后再根据b字段去重2.实现:第一个sql语句:SELECT DISTINCT nameFROM studentWHERE id='1111'ORDER BY age DESC发现结果集中已去重,但是并没有依据需求排序。查了一些资料,说需要将排序的字段添加到去重列中,这明显不符合初衷。有的MySQL版本还会报错。第二个sql语句:SELECT DISTINCT name原创 2020-05-27 16:07:46 · 3526 阅读 · 2 评论