千家信息网

MySQL表数据的DML操作

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍"MySQL表数据的DML操作",在日常操作中,相信很多人在MySQL表数据的DML操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL表数据的
千家信息网最后更新 2025年11月07日MySQL表数据的DML操作

这篇文章主要介绍"MySQL表数据的DML操作",在日常操作中,相信很多人在MySQL表数据的DML操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"MySQL表数据的DML操作"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

从过往MySQL数据库生产环境的维护工作中,总结的一些小经验和知识,未必有多深奥,但是对我们消除隐患,确保MySQL数据库生产环境四个9的作用非常有效之一的手段,运维人员要非常注意细节,尽量减低故障发生的概率。
  (一) DML语句书写建议
  (1). DML语句不允许出现@number方式替代字段名称
  不合理的写法:
  UPDATE table_name SET @1=NOW() WHERE @2=1;
  正确的写法:
  UPDATE table_name SET column_name1=NOW() WHERE column_name2=1;
  (2). UPDATE OR DELETE 禁用LIMIT子句
  不合理的写法:
  UPDATE table_name SET column_name1=NOW() WHERE column_name2=1 LIMIT 1;
  正确的写法:
  UPDATE table_name SET column_name1=NOW() WHERE column_name2=1;
  (3). INSERT语句需要写清楚值和字段对应关系
  不合理的写法:
  INSERT INTO table_name VALUES(NOW(),DATE_ADD(NOW(),INTERVAL +1 DAY));
  正确的写法:
  INSERT INTO table_name(gmt_create,gmt_modify) VALUES(NOW(),DATE_ADD(NOW(),INTERVAL +1 DAY));
  (4). DML语句少用不确定性函数
  常见被大家使用的不确定性函数:UUID()、RAND()、SYSDATE()等函数,若无特殊用处之外,请以确定性函数替代之。
  推荐阅读的技术文章:曾用于内部培训的PPT内容:MySQL开发规范与实用技术交流
  (二) 大数据量的DELETE OR UPDATE
  可能出于某些原因和运营目的,需要对数据库中的数据进行大量的清理或更改某字段的值,分别举 二个示例:
  ① 网络专项整治的时期,需要删除大量含某些关键词的内容;
  ② 给符合某一条件(例如:等级,在线时长)的游戏玩家,赠送100~1000不等数量的游戏币;
  给出的2个数据修改需求示例,若是直接根据相关要求去做,一个是需要用到模糊查询,另一个数据更新条件也没有合理索引可用,为此可能造成表对象表级锁被长时间锁住,而且阻塞其他更改类型数据操作服务,所以我们不得不采用更合理的办法,建议如下步骤实施:
  ① 设计并创建一张表tmp_pk_data ,用于记录将要被修改记录的主键,及需要的相关信息;
  ② 优先考虑在备库上跑一条SQL命令或存储过程的方式,把主键及相关数据写到表tmp_pk_data中;
  ③ 编写一个存储过程,使用游标循环控制获得tmp_pd_data的信息,根据主键更新或删除目标表的数据,且建议此操作在备库上完成(注释:必须是双主复制模式,才可在备库上执行);
  (三) 定期规律性清理数据的DELETE
  定期规律性数据的清理,优先对目标表的数据操纵方式进行分类:
  ① 若是日志类型的数据,则完全可以改为借助分区表的方式,比如按日期删除数据的条件,则可以用日期作为数据分区条件,然后增删分区的方式实现数据的清理工作;
  ② 若是数据的UPDATE/DELETE/SELECT操纵条件,与定期清理数据的规则一致或被其包含,则可以考虑使用分区表,然后借助删除分区方式达到数据清理的目标;
  ③ 若不能使用分区表解决的,则可以考虑参考上章节介绍的"大数据量的DELETE OR UPDATE"内容;
  (四) M-M架构的大数据量DML技巧
  定期规律性数据的清理,优先对目标表的数据操纵方式进行分类:
  ① 若是日志类型的数据,则完全可以改为借助分区表的方式,比如按日期删除数据的条件,则可以用日期作为数据分区条件,然后增删分区的方式实现数据的清理工作;
  ② 若是数据的UPDATE/DELETE/SELECT操纵条件,与定期清理数据的规则一致或被其包含,则可以考虑使用分区表,然后借助删除分区方式达到数据清理的目标;
  ③ 若不能使用分区表解决的,则可以考虑参考上章节介绍的"大数据量的DELETE OR UPDATE"内容;

到此,关于"MySQL表数据的DML操作"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 方式 条件 写法 分区表 目标 若是 内容 函数 日期 语句 学习 不合理 字段 建议 数据库 类型 规律 规律性 工作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全审查办法微信 2020考研复试数据库 服务器如何防止托管数据丢失 怎么进入服务器版我的世界 春节期间网络安全工作情况汇报 基岩版服务器配置文件翻译 传感器软件开发接口 sap软件用友软件开发 苏州电商软件开发要多少钱 数据库高可用版 网络技术学习桌椅 注册列表无法修改数据库 英雄联盟手游为什么找不到服务器 京津冀数据库是干什么的 微擎怎么导入应用数据库 网站与数据库的联系 关于网络安全小卫士的知识 BT盒子充值服务器码是什么意思 计算机网络技术对口行业 系统集成软件开发用什么语言 网络安全知识要知道 怎么玩lol台湾服务器 石家庄服务器机柜供应商 赛龙系统数据库丢失会怎样 tp6离线服务器部署文档 戴尔服务器风扇声音怎么解决 网络安全渗透课程 手动设置代理服务器端口怎么查 2021网络安全周内容 临沂拓普网络 软件开发
0