
Mysql
文章平均质量分 57
mysql相关
LSZXZNJ
这个作者很懒,什么都没留下…
展开
-
理一理Mysql日期
4. **TIMESTAMP**: 存储日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`,并且会根据时区进行转换,通常用于记录数据的创建和修改时间。3. **DATETIME**: 存储日期和时间,格式为 `YYYY-MM-DD HH:MM:SS`,例如 `2023-10-31 14:30:00`。2. **TIME**: 仅存储时间部分,格式为 `HH:MM:SS`,例如 `14:30:00`。5. **YEAR**: 存储年份,格式为 `YYYY`,例如 `2023`。原创 2025-03-19 16:16:25 · 307 阅读 · 0 评论 -
not in & not exists
2. 检查存在性:NOT EXISTS 子查询的目的是检查子查询是否返回任何行。如果子查询不返回任何行,则 NOT EXISTS 返回 TRUE。即使子查询结果中包含 NULL 值,NOT EXISTS 仍然可以正常工作,因为它只检查是否存在行,而不关心具体的值。,则 整个查询 不返回任何结果。1. 相关子查询:NOT EXISTS 子查询通常是一个相关子查询,这意味着它会引用外部查询中的字段。第一步: 执行 子查询 select id2 from test2, 子查询 返回一个。,则表示不存在结果集中,原创 2025-03-14 17:55:53 · 267 阅读 · 0 评论 -
Mysql系统表
4. **`table_io_waits_summary_by_table`**:存储表 I/O 等待事件的汇总信息,包括表名、等待次数、等待时间等。5. **`table_lock_waits_summary_by_table`**:存储表锁等待事件的汇总信息,包括表名、等待次数、等待时间等。4. **`PROCESSLIST`**:显示当前正在执行的线程信息,包括线程 ID、用户、主机、数据库、命令、时间、状态、信息等。1. **`user`**:存储数据库用户的信息,包括用户名、主机、密码、权限等。原创 2025-02-28 13:14:40 · 242 阅读 · 0 评论 -
开窗函数!
开窗函数(Window Function)是SQL中的一种高级功能,允许你在一组相关行(一个“窗口”)上执行聚合操作,而不像传统聚合函数(如SUM(), AVG(), COUNT())那样将所有匹配行合并成单个汇总行。分析函数:如LEAD(), LAG(), FIRST_VALUE(), LAST_VALUE(),用于访问同一窗口内的其他行数据。聚合函数:如SUM(), AVG(), COUNT(), MIN(), MAX(),但它们在每个窗口内计算,而不是整个结果集。原创 2024-06-03 14:11:42 · 393 阅读 · 0 评论 -
mysql排序问题
mysql 会根据 主键的 排序 来插入数据的,因此,如果主键不是 自增的,那么再插入的时候就会 存在 分页等问题。另外,如果 查询语句 不指定排序字段,默认是用主键升序排序的。虽然是 d 先插入表中,a后插入表中,但是 在 表中存储的数据 是 a 在 d 之前,这就是 排序规则的作用。mysql 建数据库时,需要指定 字符集 和 排序规则。安照下面的sql顺序执行插入,它们的排序是什么样的?也可以指定具体的字段。原创 2024-12-12 10:48:55 · 176 阅读 · 0 评论 -
mysql 插入更新数据
需要根据具体的业务场景来选择,一般都是 先 select,如果存在,则通过 upate 来更新指定字段,很少 利用 replace into 或者 insert into on duplicate key update 来操作,如果是唯一索引字段已存在,那么这两种都是会删除原来的行 再插入新的行,如果表的主键id 是增的话,岂不是 就变了。1)主键或唯一索引 已存在,则删除已存在的记录,插入新的记录,Affected rows: 2。2)如果主键或者唯一索引不存在,则直接插入行,影响行数:1。原创 2023-09-08 10:47:15 · 959 阅读 · 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 · 682 阅读 · 0 评论 -
MySql连接数
mysql连接数相关的命令,针对数据库服务器的,不是数据库实例。几个小命令,作用很大。2. 查看当前连接命令,该命令返回所有正在连接的连接。返回的行数就是 当前连接数。3. 修改数据库支持的最大连接数。1. 查看最大连接数命令。原创 2023-05-17 10:35:45 · 200 阅读 · 0 评论 -
从数据库连接到Mybatis到spring到springboot梳理
不论mybatis,还是spring,还是spring boot,其实,都是 在一层一层的包装,使操作越来越简单。JDK提供的驱动接口,指定了获取连接的标准接口,任何数据库厂家,都需要提供一个Java版本的驱动包并实现驱动接口,来完成改数据库的连接操作。对于数据库操作,很多都是重复的工作,Mybatis包装了这些重复的工作,开发人员只需要编写SQL语句,就可以完成数据库的操作了。经过一系列的包装,调用,最终代码会走到上面提到的,获取连接、获取statement、执行SQL、结果处理等。原创 2023-05-12 17:57:06 · 762 阅读 · 0 评论 -
揭秘Mysql到Java字段类型转换
把字段A的类型修改成bit类型,再读取时,获取的Java类型就是Boolean类型,这是怎么做到的呢?数据库驱动 从 数据库服务 获取到 数据流之后,也就是字节数组,会根据 字段的实际类型,从字节数组中 读取 指定的 字节数,将字节转换成对应的Java对象类型。读取某个字段的值时,首先会获取 对应字段的 Field 对象,该对象中定义了 当前字段的类型,根据不同的类型,使用不用的方式来读取数据。如果读取的字段想转成自己指定的类型,那么可以在获取字段数据时指定具体的期望转换的类型就可以了。原创 2022-10-20 14:17:48 · 1352 阅读 · 0 评论 -
MySql分区简单说明
数据库分区,是数据库管理系统 提供的 一个 比较好的功能。当数据量大时,除了 分表,还可以对一个表进行分区。注意的是,表分区,一定是在 创建表的时候 进行分区,后面才可以增加分区、删除分区。也就是说,分区操作的前提是 表 是一个 分区表。这种情况,如果 必须创建分区的话,那只能新建一个 分区表,然后再 把原表数据中 同步到新表中。要去掉,不然 后面的分区语句就是单独的命令了。常见的分区有 range、hash,一般情况下,range分区比较普遍。可以在查询语句中加上分区号,则只在 指定 分区中 扫描。原创 2022-09-14 15:27:04 · 1333 阅读 · 0 评论 -
Mysql连接数据库服务概述
如何连接数据库?数据库服务启动后,如果用客户端工具,如 Navicat连接的话,需要提供 数据库服务的ip、端口、数据库用户名和密码这些信息就能连接上。可以看到 当前数据库实例上的所有数据库。使用Java语言怎么连接的呢?常用的数据库连接池如 Hikari、Druid等等连接数据库有什么不一样吗?Java提供的统一接口、数据库厂商对接口进行实现、第三方数据库连接池工具包对代码的封存关系图如下:因此,可以得知,连接数据库的原理,就是 数据库厂商实...原创 2022-05-19 15:36:57 · 692 阅读 · 0 评论 -
Mysql 处理行锁 不释放
问题描述:有一张表,表中有几行记录。 我想 修改 表中的 这个行记录,但是 怎么也修改不了。执行 更新语句,最后会报:[2021-07-08 00:55:34] [40001][1205] Lock wait timeout exceeded; try restarting transaction肯定是 这行记录 被 另一个 事务 锁住了,导致 无法 被新的 事务更新。因为 已经过了 两 天了 ,还是 更新不了,所以猜测锁住 这行记录的 事务 无法 自行 结束。 需要 人工来 结束它。..原创 2021-07-08 01:12:16 · 1446 阅读 · 0 评论 -
mysql explain
对于mysql 执行计划,一直没执行研究。今天 仔细研究一下sql 执行顺序:idtableselect_type:用于描述 该表在查询中 的 角色。比如:作为独立的 单表查询,类型为 simple对于多表查询:最外层查询的表 类型为 primary子查询 的表又 分为 subquery、derived对于使用union的表, 类型为 uniontypesystem:这个忽略,就当不存在。利用索引:const :通过索引 定..原创 2021-07-02 16:18:32 · 86 阅读 · 0 评论 -
Mysql 安装
linux安装mysql.1. 官网下载 linux 版本的 mysqlmysql-5.7.34-linux-glibc2.12-x86_64.tar.gz原创 2021-06-05 20:42:36 · 552 阅读 · 0 评论 -
数据库学习
数据无价!最近发生了一起真实的 删库事件。一名运维人员将数据全部删除。数据无价啊,数据被删除后,市值大降。(⊙o⊙)…这里是对数据库学习的笔记,其他先不说了。数据,现在主要存储在关系型数据库管理软件中。常用的数据管理软件有oracle、mysql、DB2、sql server等。一般,数据库管理软件 需要服务器有高性能的内存,以便提高读写性能。数据库管理软件安装在Linux服务...原创 2020-02-29 15:11:01 · 206 阅读 · 0 评论 -
事务隔离级别和Spring事务传播
数据库的事务,及事务的4种特性:原子性、一致性、持久性、隔离性 这里就不多解释了。主要记录下 事务的隔离性。事务的隔离 ,我的理解是,表示 有多个事务在操作DB 时的一种 读原则吧。如果有其他事务正在操作DB时,我这个事务读取DB时的值是什么样的。以mysql为例,事务的隔离有 串行、重复读、读已提交、读未提交;1. 串行: 非常好理解,就是 提交的事务会排队执行。2.读已提交:T...原创 2020-02-29 12:53:12 · 188 阅读 · 0 评论