mysql update 执行过程
时间: 2024-03-07 11:45:29 浏览: 84
MySQL的UPDATE语句用于修改表中的数据。执行UPDATE语句的过程如下:
1. 解析语句:MySQL首先会解析UPDATE语句,确定要更新的表和更新的条件。
2. 锁定表:MySQL会锁定要更新的表,以确保在更新过程中其他会话不能修改相同的数据。
3. 执行更新:MySQL根据更新条件找到匹配的行,并将新的值应用到这些行中。如果有多个要更新的列,MySQL会逐个更新。
4. 更新索引:如果更新操作导致索引列的值发生变化,MySQL会相应地更新相关的索引。
5. 提交事务:如果更新操作在一个事务中执行,MySQL会在更新完成后提交事务,将修改持久化到磁盘。
相关问题
mysql定时执行update语句
要在MySQL中定时执行update语句,你可以按照以下步骤进行设置:
1. 首先,确保在MySQL的配置中将event_scheduler设置为ON。你可以通过修改MySQL配置文件中的参数来实现,或者在MySQL命令行中执行以下语句:SET GLOBAL event_scheduler = ON;
2. 创建一个存储过程来执行update语句。例如,创建一个名为update_work的存储过程,其中包含你要执行的update语句。例如:CREATE PROCEDURE update_work() UPDATE `work` SET salary = salary + 1;
3. 创建一个定时任务来调用上述存储过程。可以使用CREATE EVENT语句来创建定时任务,并使用类似以下语句来设置定时任务:CREATE EVENT update_event ON SCHEDULE EVERY 1 DAY STARTS '2017-06-18 01:00:00' DO CALL update_work();
4. 启动事件,以便定时任务开始执行。使用ALTER EVENT语句来启动定时任务。例如:ALTER EVENT update_event ENABLE;
通过按照上述步骤设置,你可以在MySQL中实现定时执行update语句的功能。
Mysql update 语句的执行流程,binlog 的作用和几种格式
MySQL 的 UPDATE 语句的执行流程:首先,MySQL 将执行 UPDATE 语句的原始查询编译成内部的数据结构,然后检查安全性,其次,MySQL 执行检索与更新操作,最后,MySQL 执行 binlog 日志记录,以实现一致性。Binlog 是二进制日志的简称,它是MySQL服务器用来记录数据变更的日志文件,其中包含了MySQL服务器中所有数据变更操作的记录,这些操作按照时间顺序记录在binlog文件中,用来实现数据库的数据一致性和容灾备份。MySQL的binlog文件支持三种格式,分别是 STATEMENT、ROW 和 MIXED。
阅读全文