DB
文章平均质量分 54
LSZXZNJ
这个作者很懒,什么都没留下…
展开
-
mysql 插入更新数据
需要根据具体的业务场景来选择,一般都是 先 select,如果存在,则通过 upate 来更新指定字段,很少 利用 replace into 或者 insert into on duplicate key update 来操作,如果是唯一索引字段已存在,那么这两种都是会删除原来的行 再插入新的行,如果表的主键id 是增的话,岂不是 就变了。1)主键或唯一索引 已存在,则删除已存在的记录,插入新的记录,Affected rows: 2。2)如果主键或者唯一索引不存在,则直接插入行,影响行数:1。原创 2023-09-08 10:47:15 · 894 阅读 · 0 评论 -
mysql group by 字段 与 select 字段
一顿操作,复现了 select 字段 和 group by 字段 不一致 导致sql报错的问题。所以,问题是 sql_mode 的设置。sql2 和 sql1 的区别是 分组少了 sex字段,那么 返回的结果 就是只有 name分组结果 并且 返回分组后的第一条记录。ONLY_FULL_GROUP_BY,限制了 group by 字段 和 select 字段一致的要求。sql 1 根据 name,sex 两个字段分组,查询 所有字段,返回结果。sql 2 根据 name 字段分组,查询所有字段,返回结果。原创 2023-09-01 10:54:52 · 575 阅读 · 0 评论 -
MySql连接数
mysql连接数相关的命令,针对数据库服务器的,不是数据库实例。几个小命令,作用很大。2. 查看当前连接命令,该命令返回所有正在连接的连接。返回的行数就是 当前连接数。3. 修改数据库支持的最大连接数。1. 查看最大连接数命令。原创 2023-05-17 10:35:45 · 159 阅读 · 0 评论 -
从数据库连接到Mybatis到spring到springboot梳理
不论mybatis,还是spring,还是spring boot,其实,都是 在一层一层的包装,使操作越来越简单。JDK提供的驱动接口,指定了获取连接的标准接口,任何数据库厂家,都需要提供一个Java版本的驱动包并实现驱动接口,来完成改数据库的连接操作。对于数据库操作,很多都是重复的工作,Mybatis包装了这些重复的工作,开发人员只需要编写SQL语句,就可以完成数据库的操作了。经过一系列的包装,调用,最终代码会走到上面提到的,获取连接、获取statement、执行SQL、结果处理等。原创 2023-05-12 17:57:06 · 742 阅读 · 0 评论 -
揭秘Mysql到Java字段类型转换
把字段A的类型修改成bit类型,再读取时,获取的Java类型就是Boolean类型,这是怎么做到的呢?数据库驱动 从 数据库服务 获取到 数据流之后,也就是字节数组,会根据 字段的实际类型,从字节数组中 读取 指定的 字节数,将字节转换成对应的Java对象类型。读取某个字段的值时,首先会获取 对应字段的 Field 对象,该对象中定义了 当前字段的类型,根据不同的类型,使用不用的方式来读取数据。如果读取的字段想转成自己指定的类型,那么可以在获取字段数据时指定具体的期望转换的类型就可以了。原创 2022-10-20 14:17:48 · 1243 阅读 · 0 评论 -
MySql分区简单说明
数据库分区,是数据库管理系统 提供的 一个 比较好的功能。当数据量大时,除了 分表,还可以对一个表进行分区。注意的是,表分区,一定是在 创建表的时候 进行分区,后面才可以增加分区、删除分区。也就是说,分区操作的前提是 表 是一个 分区表。这种情况,如果 必须创建分区的话,那只能新建一个 分区表,然后再 把原表数据中 同步到新表中。要去掉,不然 后面的分区语句就是单独的命令了。常见的分区有 range、hash,一般情况下,range分区比较普遍。可以在查询语句中加上分区号,则只在 指定 分区中 扫描。原创 2022-09-14 15:27:04 · 1138 阅读 · 0 评论 -
Mysql连接数据库服务概述
如何连接数据库?数据库服务启动后,如果用客户端工具,如 Navicat连接的话,需要提供 数据库服务的ip、端口、数据库用户名和密码这些信息就能连接上。可以看到 当前数据库实例上的所有数据库。使用Java语言怎么连接的呢?常用的数据库连接池如 Hikari、Druid等等连接数据库有什么不一样吗?Java提供的统一接口、数据库厂商对接口进行实现、第三方数据库连接池工具包对代码的封存关系图如下:因此,可以得知,连接数据库的原理,就是 数据库厂商实...原创 2022-05-19 15:36:57 · 666 阅读 · 0 评论 -
Mysql 处理行锁 不释放
问题描述:有一张表,表中有几行记录。 我想 修改 表中的 这个行记录,但是 怎么也修改不了。执行 更新语句,最后会报:[2021-07-08 00:55:34] [40001][1205] Lock wait timeout exceeded; try restarting transaction肯定是 这行记录 被 另一个 事务 锁住了,导致 无法 被新的 事务更新。因为 已经过了 两 天了 ,还是 更新不了,所以猜测锁住 这行记录的 事务 无法 自行 结束。 需要 人工来 结束它。..原创 2021-07-08 01:12:16 · 1346 阅读 · 0 评论 -
mysql explain
对于mysql 执行计划,一直没执行研究。今天 仔细研究一下sql 执行顺序:idtableselect_type:用于描述 该表在查询中 的 角色。比如:作为独立的 单表查询,类型为 simple对于多表查询:最外层查询的表 类型为 primary子查询 的表又 分为 subquery、derived对于使用union的表, 类型为 uniontypesystem:这个忽略,就当不存在。利用索引:const :通过索引 定..原创 2021-07-02 16:18:32 · 64 阅读 · 0 评论 -
Mysql 安装
linux安装mysql.1. 官网下载 linux 版本的 mysqlmysql-5.7.34-linux-glibc2.12-x86_64.tar.gz原创 2021-06-05 20:42:36 · 415 阅读 · 3 评论 -
数据库学习
数据无价!最近发生了一起真实的 删库事件。一名运维人员将数据全部删除。数据无价啊,数据被删除后,市值大降。(⊙o⊙)…这里是对数据库学习的笔记,其他先不说了。数据,现在主要存储在关系型数据库管理软件中。常用的数据管理软件有oracle、mysql、DB2、sql server等。一般,数据库管理软件 需要服务器有高性能的内存,以便提高读写性能。数据库管理软件安装在Linux服务...原创 2020-02-29 15:11:01 · 183 阅读 · 0 评论 -
事务隔离级别和Spring事务传播
数据库的事务,及事务的4种特性:原子性、一致性、持久性、隔离性 这里就不多解释了。主要记录下 事务的隔离性。事务的隔离 ,我的理解是,表示 有多个事务在操作DB 时的一种 读原则吧。如果有其他事务正在操作DB时,我这个事务读取DB时的值是什么样的。以mysql为例,事务的隔离有 串行、重复读、读已提交、读未提交;1. 串行: 非常好理解,就是 提交的事务会排队执行。2.读已提交:T...原创 2020-02-29 12:53:12 · 165 阅读 · 0 评论