![](https://img-blog.csdnimg.cn/f047f0f88e194f12b81a986da79b43a3.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
潘多拉的仓库
mysql、Redis、MongoDB等数据的文章
厨子老林
一个后端开发工程师,对搜索引擎、数据库内核、分布式系统领域感兴趣!
展开
-
SQL语法之CASE WHEN的使用总结
如果 column1 的值为 ‘B’,则筛选 column2 小于 20 的数据;在这个语法中,CASE 表示开始一个 CASE WHEN 表达式,WHEN 表示一个条件分支,THEN 表示条件成立时返回的结果,ELSE 表示所有分支都不成立时返回的默认结果,END 表示结束整个 CASE WHEN 表达式。在这种语法中,column_name 表示要进行分类或分段处理的列名,value 表示要匹配的数值,result 表示匹配成功时返回的结果,ELSE 表示所有分支都不匹配时返回的默认结果。原创 2023-06-23 00:34:12 · 9936 阅读 · 0 评论 -
Redis的sentinel模式的使用,哨兵的配置与演示
一、Redis配置修改redis.conf文件中的bind参数使用./redis-cli -h 192.168.75.130 -p 6379命令测试连接成功二、配置主从关系第一步:切换为root用户,复制出两个从机第二步:修改从机的redis.conf文件设置replicaof参数为主机的ip和端口第三步:修改从机的端口port第四步:清除从机中的持久化文件第五步:测试主从关系是否正确用Xshell开三个窗口,分别打开redis服务器并登录客户端,使用info replicati原创 2021-03-09 23:34:58 · 1138 阅读 · 0 评论 -
多数据源时,时间字段插入数据库前后不一致?
java项目中使用多数据源时,注意基础配置的一致原创 2022-09-09 09:59:37 · 285 阅读 · 0 评论 -
报错【java.sql.SQLException: Value ‘0000-00-00 00:00:00‘ can not be represented】的解决办法?
问题描述在MySQL数据库中定义了timestamp字段的数据,并且默认初始值为0000-00-00 00:00:00 ,在Java程序中访问该数据时就出现了错误。解决办法方式一:将年月日改为不为0的数据,例如1970-1-1 00:00:00。方式二:mysql连接的时候添加zeroDateTimeBehavior=convertToNull例如:jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull...原创 2021-01-22 19:14:22 · 264 阅读 · 1 评论 -
MySQl查询语句加上 `or null` 的作用?
作用:在mysql内部中true、false是用1、0表示的,只要不是null,count都会统计出来,而exp or null就会在exp为false时就返回null,count就不会统计了如这样一条语句select count(name='tom') from student;如果name不叫tom也是会计算条数的,在name后面加上 or null ,就只会统计出叫tom的人。实例:不加or null 查询结果(只要不是null都被查出)加or null...原创 2021-01-19 15:32:04 · 485 阅读 · 1 评论 -
JDBC连接MySQL、阿里Druid连接池的使用教程
JDBC一、概念1.什么是JDBC?JDBC全称是Java数据库连接(Java DataBase Connectivity),它是一套用于执行SQL语句的JavaAPI。应用程序可以通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、更新、新增和删除的操作。二、使用步骤1. 引入jar文件.2. 加载数据库驱动 (JavaSE项目中可以省略 , JavaWeb项目必须编写此步骤)Class.forName("com.mysql.jdbc.Driver");3. 通过原创 2020-12-21 21:43:10 · 1730 阅读 · 1 评论 -
使用SQLyog开启事务时事务失效?而Navicat没有失效?
一、问题描述:在使用SQLyog图形工具操作MySQL时出现事务不生效,即在一个查询编辑器使用了START TRANSACTION开启事务然后执行了修改操作而还未用COMMIT提交,在别的查询编辑器就能查询到数据已被修改。二、实验测试情况一:用SQLyog不好使,而Navicat好使在SQLyog的一个查询编辑器里开启事务并修改数据,然后查询,查询出数据已被修改(此时是未提交状态)在SQLyog中另外打开一个查询编辑器,也查询到数据被修改(开始迷惑了,为什么没使用commit提交,别的查询编辑原创 2020-12-20 18:01:30 · 1183 阅读 · 0 评论 -
MySQL报错、错误代码: 1005 Can‘t create table ‘数据库名.表名‘ (errno: 150) ?
在创建数据库表时出现创建表失败的情况,如下:# 创建部门表CREATE TABLE department( depid INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, depname VARCHAR(10) NOT NULL)ENGINE=INNODB DEFAULT CHARSET=utf8;# 创建员工表CREATE TABLE employee( empid INT UNSIGNED NOT NULL PRIMARY KEY AUT原创 2020-12-17 10:00:15 · 1783 阅读 · 3 评论 -
不可重复读和幻读有什么区别区别?
一、不可重复读在同⼀个事务中执⾏同⼀个读取操作,但是结果不⼀致。二、幻读同样的事务操作,在前后两个时间段内执⾏对同⼀个数据项的读取,可能出现不⼀致的结果。tip:不可重复读和幻读两者有些相似。但不可重复读重点在于update和delete,而幻读的重点在于insert。三、使用锁机制解决问题3.1 使用悲观锁机制解决这两种问题在可重复读中,该sql第一次读取到数据后,就将这些数据加锁,其它事务无法修改这些数据,就可以实现可重复读了。但这种方法却无法锁住insert的数据,所以当事务A先原创 2020-12-16 23:44:08 · 14845 阅读 · 4 评论 -
MySQL里的模糊查询
1. 什么是模糊查询?模糊查询就是根据一个不明确的条件查询数据,它是和精确查询某个值或者某个字段是相对的。2. 模糊查询的三种方式第①种: 可以用between and 、in、is null、is not null 这些关键字进行模糊匹配查询示例:--使用 between and 查询学号在2~9之间的学生的信息SELECT * FROM student WHERE sid BETWEEN 2 AND 9;--使用 in 查询学号为(1,8,10,13)的学生的信息SELECT * F原创 2020-12-11 18:21:48 · 1538 阅读 · 0 评论 -
COUNT(字段)、COUNT(常量)和COUNT(*)之间的区别?
COUNT(字段)、COUNT(常量)和COUNT(*)之间的区别:COUNT(常量) 和 COUNT(*) 表示的是直接查询符合条件的数据库表的行数。COUNT(列名)表示的是查询符合条件的列的值不为NULL的行数。特别说明:MySQL官方文档是这么说的:InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way. There is no performance difference.所原创 2020-12-10 16:19:07 · 322 阅读 · 0 评论