数据库MySQL
文章平均质量分 58
veminhe
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL 索引失效原理剖析:别让 “加速键” 变成 “绊脚石”
LIKE ' 张三 %'” 是 “前缀匹配”,B + 树中 name 是按字符顺序排序的(如 “张三 1”“张三 2” 连续存储),可通过索引快速定位 “以张三开头” 的记录;如果age有索引但name无索引,MySQL 无法通过索引定位 “name=' 张三 '” 的记录,只能全表扫描所有记录,逐一判断 “age 是否 = 25” 或 “name 是否 = 张三”—— 此时索引失去意义,会被放弃。联合索引的 B + 树是按 “第一列(age)排序,第一列相同则按第二列(name)排序” 的。原创 2025-09-25 09:03:48 · 831 阅读 · 0 评论 -
coalesce在sql中什么作用
是SQL中的一个函数,用于返回参数列表中的第一个非空值,若所有参数均为NULL则返回NULL,常用于处理数据中的空值情况。其执行逻辑为从左至右依次检查参数,返回第一个非NULL的表达式值。若所有参数均为NULL,则返回NULL。:从多个列中选择首个有效值。为NULL,则返回默认字符串。优先返回非空的电话号码。语句,提升代码可读性。原创 2025-08-28 09:11:23 · 630 阅读 · 0 评论 -
批量修改数据
需求背景:批量修改表的字段值,where条件不一样,要修改的值也不一样。原创 2025-07-21 17:15:23 · 108 阅读 · 0 评论 -
MySQL性能调优(三):MySQL中的系统库(简介、performance_schema)
还有该博主的另外同主题的文章也看下。原创 2025-04-21 13:39:05 · 244 阅读 · 0 评论 -
Node.js 数据库 事务 项目示例
2、实践2.1、对于MySQL或MariaDB,你可以使用mysql或mysql2库,并结合Promise或语法来控制事务。原创 2025-04-16 12:38:29 · 507 阅读 · 0 评论 -
Node.js 数据库 CRUD 项目示例
│ └── db.js # 数据库连接配置。│ └── userController.js # 业务逻辑。│ └── userModel.js # 数据库操作。│ └── userRoutes.js # 路由定义。├── app.js # 应用入口。原创 2025-04-15 17:41:41 · 1247 阅读 · 0 评论 -
Nodejs操作Mysql数据
本教程测试的 MySQL 用户名为 root,密码为 123456,数据库为 test,你需要根据自己配置情况修改。需要安装mysql依赖,然后执行。原创 2025-04-15 15:50:04 · 326 阅读 · 0 评论 -
Mysql回表查询
在MySQL数据库中,回表(Look Up)指的是在进行索引查询时,首先通过索引定位到对应页,然后再根据行的物理地址找到所需的数据行。在MySQL的InnoDB存储引擎中,每个索引项的最大长度是767字节,如果查询需要返回的字段长度超过了该限制,同样会触发回表操作。(2)由于查询返回的数据是*,所以此时,还需要根据主键值10,到聚集索引中查找10对应的记录,最终找到10对应的行row。回表查询: 这种先到二级索引中查找数据,找到主键值,然后再到聚集索引中根据主键值,获取数据的方式,就称之为回表查询。转载 2025-03-07 18:22:06 · 1013 阅读 · 0 评论 -
数据库聚集索引和非聚集索引有什么用途,有什么区别?
1、用途2、区别。原创 2025-02-25 18:49:32 · 288 阅读 · 0 评论 -
认识 MySQL 和 Redis 的数据一致性问题
而当线程B从数据库读取完数据、更新了缓存后,线程A才开始更新数据库,此时,会导致缓存中的数据是旧值,而数据库中的是最新值,产生“数据不一致”。无并发请求下,在更新数据库和删除缓存值的过程中,因为操作被拆分成两步,那么就很有可能存在“步骤1成功,步骤2失败”的情况发生(由于单线程中步骤1和步骤2是串行执行的,不太可能会发生“步骤2成功,步骤1失败”的情况)。更新(修改/删除)数据时,先删除缓存。“数据一致”一般指的是:缓存中有数据,缓存的数据值=数据库中的值。原创 2025-01-17 18:41:06 · 1109 阅读 · 0 评论 -
有张表,有学生编号、科目、成绩, 查询该表中每一门科目的成绩排前2名的学生编号
3、执行SQL查看结果,结果符合期望。2、插入初始化测试数据。原创 2024-12-23 17:27:32 · 264 阅读 · 0 评论 -
MySQL 使用触发器(Trigger)
2、使用触发器的场景有哪些?原创 2024-11-25 09:28:03 · 1240 阅读 · 0 评论 -
批量执行,如果根据唯一索引查,存在就修改,否则就新增数据。一条SQL语句搞定。
2. 执行第二次:(与第一次的唯一(word,date)冲突,执行更新)4、批量执行,如果根据唯一索引查,存在就修改,否则就新增数据。创建案例表 word_count_0626(单词计数表)1. 执行第一次:(首次数据库表中没有数据,正常插入)3. 执行第三次:// 取前一天,不会冲突。验证结果,目的达到了。原创 2024-08-20 14:20:26 · 329 阅读 · 0 评论 -
SQL修改数据的时候使用case when语句
原创 2024-08-14 10:29:51 · 379 阅读 · 0 评论 -
SQL之使用存储过程循环插入数据
1、已经创建了任务日志表。原创 2024-08-13 17:46:45 · 956 阅读 · 0 评论 -
Unable to load authentication plugin ‘caching_sha2_password‘
6.0.6改为8.0.11。原创 2024-07-12 19:33:03 · 315 阅读 · 0 评论 -
mysql8遇到的报错Public Key Retrieval is not allowed
1、参考:解决了问题我的JDBC串为:原创 2024-07-12 15:49:56 · 292 阅读 · 0 评论 -
window10安装mysql8
2、将D:\soft\mysql-8.0.38-winx64\bin加到环境变量中。1、在官网上找到mysql-8.0.38-winx64.zip并下载到本地。5、然后可以启动mysql。我是在window服务里面启动的。搜了资料,都是说要像上面语句这样。4、此时还不能启动,需要先设置不用密码也能启动、登录。然后退出,重新登陆,必须要输入正确的密码才能登陆了。7、然后查看到root账号此时没有密码。3、可以将mysql安装为服务。原创 2024-07-11 15:45:35 · 319 阅读 · 0 评论 -
Mysql的事务隔离级别以及事务的四大特性、三大范式。
MySQL 的事务隔离级别是数据库管理系统中的一个重要概念,它决定了事务如何隔离和影响其他并发事务。MySQL 支持四种事务隔离级别,分别是:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。在InnoDB存储引擎中,通过多版本并发控制(MVCC)来实现这一隔离级别,从而避免了脏读和不可重复读,但仍然可能出现幻读。在这个级别下,一个事务可以读取另一个尚未提交的事务的数据。原创 2024-04-14 20:10:32 · 377 阅读 · 0 评论 -
spring boot学习第十五篇:分库分表实战
先了解分库分表的一些概念,参考:【MySQL】MySQL分库分表详解[通俗易懂]-腾讯云开发者社区-腾讯云然后觉得哔哩哔哩里讲的挺好的,要试一下:1、海量数据冲击下的MySQL优化方案_哔哩哔哩_bilibili还有博客:https://blog.51cto.com/u_14904176/5959319原创 2024-03-22 16:36:46 · 369 阅读 · 0 评论 -
索引学习以及索引原理
1.1、最左前缀匹配原则非常重要的原则,mysql会一直向右匹配直到遇到范围查询(>、 3 and d = 4 如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整。那就让指针先指向东朝向的所有房子,相当于现实生活中,找房子的人,站在该栋楼的东面看东朝向的房子,而不用关心西朝向、北朝向、南朝向的房子。b、或者要找东朝向的12楼偏中间的房子,原创 2024-02-26 17:23:24 · 263 阅读 · 0 评论 -
MYSQL存储过程(含入参、出参)
2、创建存储过程,希望插入2条数据,当id不一样时,事务正常提交;当id一样时,事务回滚。id为主键,便于验证执行SQL异常(例如主键值冲突)时,事务回滚。4、调用该存储过程,当id一样时,数据不能入库,因为有SQL异常。3、调用该存储过程,当id不一样时,数据正常入库。原创 2024-02-08 11:25:27 · 1433 阅读 · 1 评论 -
怎么关联表去更新数据
现在要将student表的class_name都更改为class表中class_id对应的class_name。student表新增一列class_name,该列数据都是空的。查看student表的class_name,结果符合期望。class表数据 如下所示。原创 2024-01-08 15:41:20 · 567 阅读 · 0 评论 -
解压mysql5.7后使用mysql5.7(Windows)
4.注意:5.7.x系列版本的mysql在执行第3步后,要执行mysqld --initialize-insecure(这里是设置无密码的用户,连接mysql后要设置密码)设置环境变量path,将C:\mysql-5.7.11-winx64\bin加入path中。3.注册mysql为windows服务(卸载时mysqld remove)5.启动MySQL服务:net start mysql;执行mysql -hlocalhost -uroot登陆mysql.执行mysql -uroot -p。原创 2023-07-12 18:40:04 · 593 阅读 · 0 评论 -
CenterOs安装MySQL(Linux)
2 然后再执行rpm -ivh MySQL-server-5.6.21-1.el6.i686.rpm安装服务端,如果报mysql-libs相关的冲突,则执行yum remove mysql-libs删除mysql-libs再安装服务端.3 然后再执行rpm -ivh MySQL-client-5.6.21-1.el6.i686.rpm安装客户端。(I)首次安装,安装好后,如果用mysql命令连接不进mysql控制台,则需要。e)、撤销b)步骤的更改,然后重启服务。原创 2023-07-12 18:38:01 · 556 阅读 · 0 评论 -
ubuntu重启后,docker容器中的mysql怎么重启
2、但是突然有一天,我的腾讯云主机被迫重启了,发现docker容器中的mysql挂掉了。1、第一次安装的时候,参考。我自己试了一下还是不行。原创 2023-07-11 12:08:42 · 885 阅读 · 0 评论 -
使用docker安装mysql主从集群
在这里,使用了Docker官方提供的MySQL镜像,并且使用了MySQL的默认3306端口。--name表示给该主容器设置一个名字,-p表示设置端口,-e选项用于设置MySQL的root密码,-d表示后台运行该容器。在上面的命令中,设置了MySQL主容器的IP地址,用户名和密码,二进制日志文件名和位置以及复制的起始位置。在上面的命令中,创建了两个MySQL从容器,使用了3307和3308端口,并设置了相同的MySQL root密码。在mysql-slave2容器中配置主从复制。原创 2023-07-03 16:37:58 · 792 阅读 · 0 评论 -
mysql的集群和主从的区别
c) Master等待所有Slave发送OK或ABORT消息,如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;容错性:管理节点部署在一台机器A里,一套数据节点和SQL节点部署在机器B里,另一套数据节点和SQL节点部署在机器C里。有三个关键概念:Sql节点(多个),数据节点(多个),管理节点(一个),数据节点之间采用的是同步复制来保证各节点之间的数据一致性。a) Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。原创 2023-07-03 11:34:30 · 872 阅读 · 0 评论 -
数据库三大范式
遵循业务优先的原则首先满足业务需求,再进来减少冗余有时候我们想要对查询效率进行优化,反范式化也是一种优化思路,我们可以通过在数据表中增加冗余字段来提高数据库的读性能。3.2 反范式的新问题反范式虽然可以通过空间换实际,提升查询的效率,但是反范式也会带来一些新问题a、存储空间变大了b、一个表中字段做了修改,另外一个表中冗余字段也要同步进行修改,不然会导致数据不一致c、如果用存储过程了支持数据的更新,删除等操作,如果操作频繁,就会消耗系统资源。原创 2023-06-30 17:56:53 · 107 阅读 · 0 评论 -
搭建mysql集群(Windows环境)
1、MySQL集群简介MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。MySQL群集中有三种节点:管理节点、数据节点和SQL节点。群集中的某计算机可能是某一种节点,也可能是两种或三种节点的集合。这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系。原创 2023-06-27 16:57:25 · 2439 阅读 · 0 评论 -
MySQL查看数据库表容量大小
原创 2019-11-19 14:52:41 · 1473 阅读 · 0 评论 -
ubuntu在线安装mysql
ubuntu在线安装mysql:1.sudo apt-get update2.sudo apt-get install mysql-server mysql-client3.mysql -u root -p允许root远程登陆1)从所有主机:grant all privileges on *.* to root@"%" identified by "passw0rd" with grant opt...原创 2018-04-22 21:28:46 · 779 阅读 · 1 评论 -
mysql管理
1.关闭目前运行的 MySQL 服务器mysqladmin -u root -p shutdown输入密码2.启动root@host# cd /usr/bin./mysqld_safe &3.用户管理3.1.执行sqlINSERT INTO user (host, user, password, select_priv, insert_priv, ...原创 2018-05-10 00:20:33 · 339 阅读 · 0 评论 -
Mysql基础知识学习
1.mysql数据库是什么2.mysql数据类型有哪些数值类型 float(3,2)表示只能是整数一位,小数点后二位(可选)日期和时间类型字符串类型3.mysql支持SQL语句以创建表为例,说明支持标准SQLDROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL AUT...原创 2018-04-27 00:35:11 · 2203 阅读 · 1 评论 -
mysql优化
https://www.cnblogs.com/lpfuture/p/4623671.htmlexplain select ;show processlist;转载 2018-07-30 11:39:27 · 170 阅读 · 0 评论 -
group_concat函数详解
1、准备表task_execute_t,字段信息如下所示。3、编写SQL语句,按任务分组,查出每个任务的批次号。2、构造数据如下所示。原创 2018-11-27 14:39:59 · 623 阅读 · 0 评论 -
mysql函数substring_index的用法
参考https://blog.youkuaiyun.com/iris_xuting/article/details/38415181转载 2018-11-27 14:50:07 · 222 阅读 · 0 评论 -
mysql循环删除数据
参考https://blog.youkuaiyun.com/qq_35201754/article/details/80326336https://blog.youkuaiyun.com/u010558660/article/details/53925120转载 2018-11-28 15:06:57 · 5015 阅读 · 0 评论 -
mysql 出现You can't specify target table for update in FROM clause错误的解决方法
https://blog.youkuaiyun.com/fdipzone/article/details/52695371转载 2019-08-21 13:57:21 · 192 阅读 · 0 评论 -
MySQL索引的创建、删除和查看
参考https://www.cnblogs.com/tianhuilove/archive/2011/09/05/2167795.html转载 2019-08-21 14:04:34 · 141 阅读 · 0 评论
分享