![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 53
流苏打
99%没问题,意味着百分百有问题
展开
-
SQL语句中replace和on duplicate key update 的异同
之前工作中sql语句一直用的CRUD,遇到业务 “数据库中没有就新增一条数据,有就修改”,都是在业务层先查询再用if语句判断没有就insert,有就update。前段时间研究索引的时候发现了这个问题的简便解决方法,只需要一句sql语句就可以解决问题,大大加快了系统的效率与代码的简洁性。以下是示例:一、先创建一个test表,设置主键为id不为空且自动递增。再插入一条数据作为初始数据。二、使用replace into语句先不操作主键字段,发现是新增一条数据。三、再使用replace语句操作刚刚新增的原创 2021-04-15 14:44:42 · 800 阅读 · 0 评论 -
JDBC连接数据库常用的一些配置项
最近在服务器中部署服务遇到了一个连接超时的报错CommunicationsException,查找解决方法后发现可以通过配置JDBC重连来解决,添加“&autoReconnect=true&failOverReadOnly=false”配置在JDBC连接后面//配置自动重连 并且设置重连后只可读设为falseautoReconnect=true&failOverReadOnly=false还可以在JDBC连接中配置时区://北京时间东八区serv...原创 2021-09-17 14:31:28 · 1995 阅读 · 0 评论 -
Navicat创建数据库时所选择字符集和排序规则含义
我们每次使用Navicat创建数据库时候让选择字符集和排序规则,是不是会疑惑,知道要使用utf8字符集,但那个utf8mb4是个什么鬼?感觉和utf8差不多。创建时:创建后编辑:当我们使用utf8创建完数据库后编辑数据库时,会发现使用utf8创建的数据库字符集转变为utf8mb3,和utf8mb4更像了。MySQL在早期时候只有utf8,在5.5.3版本之后增加了这个utf8mb4的编码。mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。理论上utf.原创 2021-08-27 10:13:55 · 19053 阅读 · 3 评论 -
MySQL中@的使用
参考以下两位博主:mysql-sql语句中变量的使用:https://www.cnblogs.com/jpfss/p/9143886.htmlMySQL查询语句中的变量使用:https://www.cnblogs.com/-tang/p/13782826.html原创 2021-07-28 17:18:42 · 1517 阅读 · 0 评论 -
sql优化——count(1)、count(*)与count(列名)的区别
一、从执行效果来看1. count(1) and count(*):基本没差别count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略NULL2. count(1) and count(列名):(1) count(1) 会统计表中的所有的记录数,不会忽略NULL,包含字段为null 的记录。(2) count(列名) 会统计该列字段在表中出现的次数,会忽略字段为null 的情况,即不统计字段为null 的记录。二、从执行效率来看 若列名为主键,co...转载 2021-07-28 17:05:02 · 242 阅读 · 0 评论