
mysql
文章平均质量分 54
MySQL的理解和实战
天元白手
专精于企业数据分析、设计及实施商业智能业务解决方案、软件开发及数据管理和治理。
展开
-
MySQL触发器
MySQL触发器笔记记录原创 2022-11-24 10:38:37 · 881 阅读 · 1 评论 -
SQL查询学生表中每课大于85分的同学名称
SQL语句SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for t_student-- ----------------------------DROP TABLE IF EXISTS `t_student`;CREATE TABLE `t_student` ( `id` int NOT NULL AUTO_INCREMENT, `name原创 2021-09-23 08:35:27 · 2561 阅读 · 0 评论 -
MySQL存储过程
MySQL存储过程1、什么是存储过程?https://www.runoob.com/w3cnote/mysql-stored-procedure.html存储过程是一种SQL语句集,经过编译后存储在数据库中,通过指定存储过程的名称和参数信息来调用存储过程,使其完成特定的功能,在创建存储过程的时候,可以自定义变量来存储一些中间结果的数据,使其完成特定的功能,在创建存储过程的时候,可以自定义变量来存储一些中间结果的数据,也可以在存储过程中定义一些执行逻辑和执行流程。 存储过程一次编译可以永久使用(只要原创 2021-09-19 20:15:21 · 460 阅读 · 0 评论 -
HikariPool-1 - Failed to validate connection com.mysql.cj.jdbc.ConnectionImp问题
这里可能是数据库连接了之后长时间不进行操作之后导致的断开连接问题,这种问题重启项目之后又没问题了,但是重启时治标不治本的方法解决的方法是在application.properties里配置多一项:# 设置连接有效时间spring.datasource.hikari.max-lifetime=500000# mysql数据库连接spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jd原创 2021-09-10 11:21:23 · 6965 阅读 · 1 评论 -
MySQL锁表了怎么办?
1、查看是那些表被锁定了show OPEN TABLES where In_use > 0;2、查看表的状态show status like 'table%';Table_locks_immediate 指的是能够立即获得表级锁的次数Table_locks_waited 指的是不能立即获取表级锁而需要等待的次数,值比较高,则说明存在着较严重的表级锁争用情况。3、查看行级锁show status like 'innodb_row_lock%';如果发现锁争用比较严..原创 2021-08-29 11:45:02 · 13294 阅读 · 0 评论 -
MySQL查询语句中七个查询命令特征
1、from:作用:优先级最高,最先执行,将硬盘的表文件加载到内存中,生成一个全新的临时表,定位内存中已经存在的临时表,在查询语句中最先执行的就是from,注意:如果from定位的是临时表,这个临时表必须手动指定表名。2、where:作用:where命令操作的是from命令生成的临时表,where命令会循环遍历临时表中每一个数据行,将满足条件的数据行保存到一个全新的临时表中。注意:由于where命令操作只是一个数据行,因此在使用的where的过程中,是无法使用聚合函数作为判断条件的3、group原创 2021-07-13 21:58:56 · 484 阅读 · 0 评论 -
Navicat连接阿里云服务器数据库
连接上需要进行两部的操作:第一步:Navicat连接SSH服务器第二步:SSH服务器连接MySQL镜像数据原创 2021-07-10 23:37:33 · 1747 阅读 · 0 评论 -
sql_mode=only_full_group_by
在我分组查询四个表格的时候出现的问题:set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';原创 2021-03-21 10:15:15 · 470 阅读 · 6 评论 -
重置MySQL数据库表中的id的方法
在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们想要把主键id的数据重置,又不想把表中的数据全部删除的时候可以使用以下的方法:执行以下的SQL语句可以重置数据库表中的id:alter table 你的表名字 drop 你的表的主键;alter table 你的表的名字 add 你的表的主键 int not null primary key auto_increment first;alter table tb_details drop id;alter table原创 2021-02-24 21:45:59 · 6977 阅读 · 6 评论 -
MySQL创建实体类对应的数据类型
请叫我雷锋,不用谢!得到帮助的小伙伴记得三连,点赞+转发+收藏原创 2020-12-09 22:03:11 · 470 阅读 · 0 评论 -
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.当你看到这个报错信息的时候,请检查一下你的数据库服务有没有开启?如果没有启动数据库的服务,那就立马开启它!...原创 2020-11-18 17:21:44 · 594 阅读 · 0 评论 -
MySQL性能优化(2020)
为什么需要进行MySQL的性能优化在我们的开发项目上线初期,业务量小,SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,所以很少针对SQL进行专门的优化,而随着时间的积累,业务数据量的增多,SQL的执行效率对程序的运行效率的影响逐渐增大,此时对SQL的优化就很有必要。如何测试已优化的SQL语句是否有效果:SQL语句分析测试1、exists、in的合理利用MySQL优化原则是小表驱动大表,小的数据集驱动大的数据集假设B的数据量小于A,则适合使用i原创 2020-10-30 14:12:03 · 272 阅读 · 0 评论 -
explain分析SQL(2020)
在进行SQL语句优化的时候,我们如何判断优化好的SQL语句是否是我们想要的,这时候我们就需要explain关键字来进行测试例子:EXPLAIN SELECT studentNo FROM student WHERE studentNo='10000';输出:参数分析:编号含义id编号select_type查询类型table表名type类型possible_keys预测用到的索引key实际使用的索引key_len实际使用的索引原创 2020-10-30 10:27:26 · 163 阅读 · 0 评论 -
MySQL创建索引和删除索引
在使用MySQL的时候,正确的使用索引可以加快我们的查询效率。explain SELECT * FROM student1 WHERE address='地址不详' ORDER BY borndate;-- 创建索引alter table student1 add index idx_address_age (address,borndate);-- 删除索引DROP INDEX idx_address_age ON student1;有索引的时候:没有索引的时候:...原创 2020-10-29 21:58:41 · 226 阅读 · 0 评论 -
SQL语句计算年龄
通过生日计算年龄:SELECT TIMESTAMPDIFF(YEAR, borndate, CURDATE()) FROM student_1;输出结果:原创 2020-10-29 20:59:52 · 10858 阅读 · 0 评论 -
sql语句的执行顺序
MySQL语句的执行顺序:from > where > group by > 聚合函数 > having > select > order by >limit原创 2020-10-19 21:49:50 · 131 阅读 · 0 评论 -
MySQL的开窗函数
MySQL在8.0的版本增加了对开窗函数的支持,终于可以在MySQL使用开窗函数了,开创函数的语法结构:<开窗函数>over ([PARTITION BY <列清单>]ORDER BY <排序列清单>示例:SELECT *,row_number() over (ORDER BY price DESC) FROM product;Mysql中支持的开窗函数有很多,这里重点介绍三个row_number(),rank(),dense_rank()三个的区别:ro原创 2020-10-19 21:47:42 · 2357 阅读 · 0 评论 -
编辑sql语句重复的字段只显示一个....DISTINCT
有两种方法都可以实现这个功能,一个是GROUP BY,另一个是DISTINCT例如:SELECT dname,db_source FROM `dept` WHERE db_source ='查看' GROUP BY dname;SELECT DISTINCT dname FROM dept WHERE db_source='查看';两个的是有区别的GROUP BY经常使用在分组统计数据汇总,而DISTINCT主要是用来去除重复的字段,在性能上面使用DISTINCT要好很多!...原创 2020-09-23 22:33:31 · 1736 阅读 · 0 评论