![](https://img-blog.csdnimg.cn/3f992eeb92ae42a1ac0223da432c4ddb.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 90
MySQL相关
挥之以墨
一个半路出家的加瓦攻城狮,擅长搬砖
展开
-
【MySQL实践】一个隐蔽的问题导致 Field ‘xxx‘ doesn‘t have a default value
就像标题上说的,这个问题的隐蔽之处在于,即使是将字段的默认值drop了,在各类可视化界面中也看不出来,例如下图红框中的字段,其中name没有默认值,age字段有默认值null,但是根本看不出来:这种情况可以,可以使用`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(64) COMMENT '名称',`status` tinyint(4) NOT NULL COMMENT '状态',原创 2024-01-24 15:45:55 · 1089 阅读 · 0 评论 -
【MySQL实践】使用FIND_IN_SET查询逗号隔开的数据&Mybatis-Plus的实现方式
项目中有一张表中有这么一个字段,这个字段的值是通过逗号隔开的数据,例如:`1,2,3,4,5`,并且在存储的时候这些数字并不是有序的,有可能是:`2,3,5,1,4`等等,当然也可能不完全是5个数字,也可能是:`1,5`,`2,3,5`等等。对于逗号隔开的数据,可以通过函数来进行匹配,其他符号隔开的数据可以通过like函数来进行拼接。原创 2023-09-27 16:09:51 · 5098 阅读 · 0 评论 -
【MySQL】(一)CentOS7下MySQL的安装配置
1.官网下载安装mysql-server1.1.下载安装MySQL社区版wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpmrpm -ivh mysql57-community-release-el7-9.noarch.rpmyum install mysql-server如果不想要这个版本,可以在http://repo.mysql.com中找自己需要的版本。1.2.安装成功后重启服务service mys原创 2020-09-16 16:23:50 · 156 阅读 · 0 评论 -
【MySQL】(二)整体架构与SQL语句的执行流程
文章目录MySQL1.MySQL的架构1.1.连接层1.2.服务层1.3.存储引擎2.SQL语句执行流程2.1.几个基本概念2.1.1.随机IO/顺序IO2.1.2.页2.1.3.Buffer Pool2.1.4.脏页与刷盘2.1.5.redo log2.1.6.undo log2.1.7.bin log2.2.查询语句2.3.更新语句MySQL1.MySQL的架构MySQL的整体架构可以分为三层:连接层、服务层、存储引擎。其中服务层又是由4个部分组成,分别为:查询缓存、解析器、优化器、执行器。原创 2021-09-26 17:53:34 · 191 阅读 · 0 评论 -
【MySQL】(三)索引的数据结构及其创建和使用
1.索引概念1.1.索引的定义和作用索引是一种用来协助快读查询或更新数据的有序的数据结构。如何理解这句话呢?首先,我们数据表中的数据是以文件的形式存放在磁盘上,每一行都有一个磁盘地址。我们在检索数据的时候,需要一行一行的遍历数据表,获取出满足条件的数据行。如果使用了索引,通过索引的数据结构特性,可以很快的找到存放在索引文件中的,满足条件的数据行的磁盘地址,通过磁盘地址可以很快的定位数据。如果把数据表比作一本字典,索引就类似于这本字点的目录。我们要查某个字的时候,不可能从第一页开始翻,而是先去查找原创 2020-11-09 22:40:45 · 887 阅读 · 0 评论 -
【MySQL】(四)MyISAM及InnoDB中的锁
1.锁的概述1.1.锁是什么?除了CPU、内存、I/O等传统资源,数据库中的数据也是一种共享资源,锁是一种协调多个线程并发访问某一贡献资源的机制。1.2.锁的作用解决并发冲突,保证数据库数据的一致性。1.3.MySQL中锁的种类分为表级锁、页级锁、行级锁。表级锁加锁开销最小,加锁最快,但锁的粒度最大,并发能力最低,不会死锁。行级锁加锁开销最大,加锁最慢,但锁的粒度最小,并发能力最高,会死锁。页级锁介于两者之间,会死锁。在MySQL的引擎中,MyISAM和MEMORY支持表级锁,BDB原创 2020-11-05 18:17:08 · 420 阅读 · 0 评论 -
【MySQL】(五)InnoDB中各种锁的验证
1.InnoDB锁的验证接上一篇文章,【MySQL】锁机制,这里对里面提到的InnoDB中的锁做验证。所有的验证都是在RR隔离级别下进行的。首先创建并初始化test表数据:CREATE TABLE `test` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `sn` int(11) DEFAULT NULL, `uq` int(11) DEFAULT NULL, PRIMARY KEY (`id`), U原创 2020-11-06 14:02:37 · 333 阅读 · 0 评论 -
【MySQL】(六)事务的基本操作
1.事务自动提交设置-- 设置自动提交状态,1:开启,0:关闭set autocommit=0;-- 查看当前自动提交状态show variables like '%autocommit%';2.事务隔离等级查看及设置-- 事务隔离等及查看select @@tx_isolation;-- 设置read uncommitted级别:set session transaction isolation level read uncommitted;-- 设置read committed级别:原创 2020-09-15 15:09:37 · 339 阅读 · 0 评论 -
【MySQL】(七)事务及MVCC原理
1.事务的概念是数据库的最小工作单元,体现为一条或多条DML的集合,这个集合中所有的语句要么都成功,要么都失败。在MySQL的4种引擎中,只有InnoDB支持事务(其余三种为MyISam、bdb、memory)。2.事务的特性2.1.四大特性-原子性、一致性、隔离性、持久性原子性:一个事务中的所有操作都是一个整体,要么都成功,要么都失败。一致性:数据在事务操作前后必须都要满足业务规则的约束。比如一个账户有90块钱,但是支付100成功了,余额就是-10。这样就没有满足业务的要求。隔离性:数据库允原创 2020-09-15 10:13:46 · 364 阅读 · 0 评论 -
【MySQL】事件(Event)的基本使用
1.确认是否开启了MqSQL的定时事件功能-- 查看定时任务开关是否被打开SHOW VARIABLES LIKE 'event_scheduler'; -- 如果event_scheduler=OFF执行下面的sql将它打开set GLOBAL event_scheduler=on;2.EVENT的类型在MySQL中,EVENT的类型一共有两种,AT和EVERY。其中,AT表示在固定的时间执行一次,而EVERY表示只要到达设置的时间点都可以执行,也就是循环执行。3.固定时间执行的EVENT原创 2020-09-23 09:16:05 · 878 阅读 · 0 评论