![](https://img-blog.csdnimg.cn/256eb1c846b446ea86f90325680f5917.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySql
文章平均质量分 77
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品,MySQL 是最流行的关系型数据库管理系统之一
低吟不作语
这是最坏的时代,也是最好的时代
展开
-
MySQL Explain 关键字详解
explain 关键字可以模拟执行 sql 查询语句,输出执行计划,分析查询语句的执行性能使用方式如下:explain + sql。原创 2024-06-17 15:19:11 · 765 阅读 · 0 评论 -
MySQL 主从配置
在主从复制中,一般有一个主数据库(Master)和一个或多个从数据库(Slave),主数据库负责接收和处理写操作,从数据库复制主数据库的日志文件,将写操作在自身的数据库重演,从而实现数据的同步。原创 2024-04-05 17:57:16 · 497 阅读 · 0 评论 -
MySQL 索引失效场景总结
如果对 a、b、c 建立联合索引,那么首先根据 a 字段排序,如果 a 字段值相同,再根据 b 字段排序,如果 b 字段值也相同,再根据 c 字段排序。因此,使用联合索引必须按照从左到右,也就是字段排序的顺序,只有先用了 a,才能接着使用 b,使用了 b 才能接着使用 c。联合索引遵从最左匹配原则,所谓最左匹配原则,就是如果 SQL 语句用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配。如果希望以 % 开头仍使用索引,则需要使用覆盖索引,即只查询带索引字段的列。原创 2024-03-31 12:35:24 · 398 阅读 · 0 评论 -
MySQL MVCC 详解
MVCC 全称 Mutil-Version Concurrency Control,多版本并发控制,是一种并发控制方法,旨在减少读写操作的冲突我们知道,当有多个事务同时操作数据库的相同数据时,会出现并发问题,例如,读 + 写事务并发可能会导致脏读、幻读和不可重复读等问题,写+写事务并发可能会导致数据覆写等问题为了解决读 + 写事务并发可能导致的问题,MySQL 的 innodb 引擎实现了 MVCC,做到不用加锁也可以实现安全的非阻塞的并发读 + 写,而对于写 + 写事务并发则只能通过加锁解决。转载 2024-01-31 16:38:14 · 58 阅读 · 0 评论 -
MySQL Select 语句执行顺序
如果指定了OUTER JOIN(如 LEFT JOIN、RIGHT JOIN),将上一步没有匹配的行添加到 VT-2,生成 VT-3。在这一步,无论后面跟那种联接运算(LEFT JOIN、RIGHT JOIN等),都首先执行交叉联接(CROSS JOIN),计算笛卡尔积,生成虚拟表 VT-1。按照指定的列名对 VT-4 的行进行分组,生成VT-5,最后每个分组只有一行。根据 ON 的筛选条件对 VT-1 进行筛选,生成 VT-2。使用聚合函数对 VT-5 的分组进行筛选,生成 VT-6。原创 2023-11-20 17:02:03 · 238 阅读 · 0 评论 -
MySQL 日志管理
概述日志文件记录 MySQL 数据库运行期间发生的变化,当数据库遭到意外的损害时,可以通过日志文件查询出错原因,并进件数据恢复MySQL 日志文件可以分成以下几类:二进制日志:记录所有更改数据的语句,可以用于主从复制错误日志:记录 MySQL 服务出现的问题查询日志:记录建立的客户端连接和执行的语句慢查询语句:记录所有执行时间超过 long_query_time 的所有查询或不适用索引的查询中继日志:记录复制时从服务器从主服务器收到的数据该表数据定义语句日志:记录数据定义语句执行的元数据.原创 2022-05-03 22:27:16 · 698 阅读 · 0 评论 -
MySQL数据备份与恢复
数据备份1. 备份数据库使用 mysqldump 命令可以将数据库中的数据备份成一个文本文件,表的结构和数据以 SQL 的形式将存储生成的文本文件mysqldump -u username -p dbname>BackupName.sql其中,dbname 代表数据库名称,BackupName.sql 代表备份文件名称2. 备份一个数据库的某几张表mysqldump -u username -p dbname table1 table2..>BackupName.sql其中.原创 2022-05-02 18:02:02 · 787 阅读 · 0 评论 -
MySQL 安全管理
权限表MySQL 服务器通过权限表来控制用户对数据库的访问,由 mysql_install_db 脚本初始化,MySQL 会根据这些权限表的内容为每个用户赋予相应的权限1. user 表user 表是 MySQL 最重要的一个权限表,有 49 个字段,这些字段可以分成四类:范围列:包括 Host、User,分别表示主机名、用户名,Host 指明允许访问的 IP 或主机范围,User 指明允许访问的用户名权限列:权限列字段描述用户在全局范围内允许进行的操作,该列的字段值类型为 ENUM,只能取 .原创 2022-05-01 16:16:57 · 1623 阅读 · 0 评论 -
MySQL 事务和锁
事务概述当多个用户访问同一份数据时,一个用户在更改数据的过程中,可能有其他用户同时发起更改请求,为保证数据库记录的更新从一个一致性状态变为另外一个一致性状态,使用事务处理是非常必要的,事务具有以下四个特性:原子性(Atomicity):事务中所有操作视为一个原子单位,即对事务所进行的数据修改等操作只能是完全回滚或完全提交一致性(Consistency):事务在完成时,必须使用所有的数据从一种一致性变更为另一种一致性状态,所有的变更都必须应用于事务的修改,以确保数据的完整性。事务的一致性由原子性、持.原创 2022-04-29 23:41:19 · 742 阅读 · 0 评论 -
MySQL 触发器
概述触发器是 MySQL 的数据库对象之一,不需要程序调用或手工启动,而是由事件来触发、激活,从而实现执行,包括 INSERT 语句、UPDATE 语句和 DELETE 语句创建触发器1. 创建有一条执行语句的触发器CREATE trigger trigger_name BEFORE|AFTER trigger_EVENTON TABLE_NAME FOR EACH ROW trigger_STMT参数 trigger_name 表示要创建的触发器名参数 BEFORE 和 AFTER .原创 2022-04-23 21:34:23 · 698 阅读 · 0 评论 -
MySQL 存储过程和函数
创建存储过程和函数创建存储过程和函数就是将经常使用的一组 SQL 语句组合在一起,并将这些 SQL 语句当作一个整体存储在 MySQL 服务器1. 创建存储过程CREATE PROCEDURE procedure_name ([proc_param[,...]]) [characteristic ...] routine_bodyprocedure_name 表示所要创建的存储过程的名字proc_param 表示存储过程的参数characteristic 表示存储过程的特性rou.原创 2022-04-23 20:19:39 · 739 阅读 · 0 评论 -
MySQL 视图简介
概述数据库中关于数据的查询有时非常复杂,例如表连接、子查询等,这种查询编写难度大,很容易出错。另外,在具体操作表时,有时候要求只能操作部分字段。为了提高复杂 SQL 语句的复用性和表的操作的安全性,MySQL 提供了视图特性。所谓视图,本质上是一种虚拟表,同样包含一系列带有名称的列和行数据。行和列的数据来自自定义视图的查询所引用的基本表,并在具体引用视图时动态生成视图的特点如下:视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系视图是由基本表(实表)产生的表(虚表)视图的建立和删除.原创 2022-04-16 23:11:03 · 831 阅读 · 0 评论 -
MySQL 索引详解
索引的含义和特点索引是创建在表上的,是对数据库表中一列或多列的值进行排序的一种结构,可以提高查询速度。使用索引类似于使用新华字典的音序表,通过提取拼音,可以快速定位该数据的位置索引有其明显的优势,也有不可避免的缺点:创建和维护索引同样需要耗费时间,并随着数据量的增加而增加索引也会占用一定的物理空间增加、删除和修改数据时,要动态地维护索引索引的分类和操作1. 普通索引所谓普通索引,就是在创建索引时,不附加任何限制条件(唯一、非空等限制),可以创建在任何数据类型的字段上创建表时直接创建.原创 2022-04-16 16:03:38 · 483 阅读 · 0 评论 -
MySQL 数据库中的数据类型
整数类型标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩展支持了 TINYINT、MEDIUMINT 和 BIGINT整数类型字节数无符号数的取值范围有符号数的取值范围TINYINT1(0,255)(-128,127)SMALLINT2(0,65535)(-32768,32767)MEDIUMINT3(0,16777215)(-8388608,8388607)INT4(.原创 2022-04-10 11:21:55 · 1275 阅读 · 0 评论