(节选自mysql手册)

多表更新
在 MySQL 3.23 中,你可以使用 LIMIT # 来确保只有给定的记录行数目被更改。

如果一个 ORDER BY 子句被使用(从 MySQL 4.0.0 开始支持),记录行将以指定的次序被更新。这实际上只有连同 LIMIT 一起才有用。

从 MySQL 4.0.4 开始,你也可以执行一个包含多个表的 UPDATE 的操作:

UPDATE items,month SET items.price=month.price
WHERE items.id=month.id;

注意:多表 UPDATE 不可以使用 ORDER BY 或 LIMIT。

多表删除
第一个多表删除格式从 MySQL 4.0.0 开始被支持。第二个多表删除格式从 MySQL 4.0.2 开始被支持。

仅仅在 FROM 或 USING 子句 之前 列出的表中的匹配记录行被删除。效果就是,你要以从多个表中同时删 除记录行,并且同样可以有其它的表用于检索。

在表名后的 .* 仅仅是为了兼容 Access:

DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id

or

DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id

在上面的情况下,我们仅仅从 t1 和 t2 表中删除匹配的记录行。

如果一个 ORDER BY 子句被使用(从 MySQL 4.0.0 开始支持), 记录行将以指定的次序删除。这实际上只有连同 LIMIT 一起才有用。示例如下:

DELETE FROM somelog
WHERE user = 'jcole'
ORDER BY timestamp
LIMIT 1

这将删除匹配 WHERE 子句的,并且最早被插入(通过 timestamp 来确定)的记录行。

DELETE 语句的LIMIT rows 选项是 MySQL 特有的,它告诉服务器在控制权被返回到客户端之前可被删除的最大记 录行数目。这可以用来确保一个特定的 DELETE 命令不会占用太长的时间。你可以简单地重复使用 DELETE 命令,直到被影响的记录行数目小于 LIMIT 值。

从 MySQL 4.0 开始,在 DELETE 语句中可以指定多个表,用以从一个表中删除依赖于多表中的特殊情况 的记录行。然而,在一个多表删除中,不能使用 ORDER BY 或 LIMIT。

Mysql也可以联合多表更新和删除相关推荐

  1. python db.commit_python对MySQL进行数据的插入、更新和删除之后需要commit,数据库才会真的有数据操作。(待日后更新)...

    今天在尝试用下面的python代码对MySQL进行数据的插入.更新和删除时, 突然发现代码执行成功, 通过代码查询也显示数据已经插入或更新, 但是当我在MySQL客户端通过SQL语句查询时, 数据库中 ...

  2. oracle删除库里的所有表,清空mysql指定库里全部表数据-自动删除所有表,有外键约束的表优先删除...

    清空mysql指定库里所有表数据-自动删除所有表,有外键约束的表优先删除 由于要清空数据库数据 ,手动非常麻烦.网上找了一下,有一个Oracle的,参照它,在其上修改一下用于Mysql,把代码奉献如下 ...

  3. mysql连表删除语句_MySQL中联表更新与删除的语法介绍

    前言 相信大家在日常使用mysql,可能会遇到需要同时更新两张表时,我会采用在同一个事务中使用2句sql语句分别进行更新.其实,这种需要发送2句sql语句的方法效率相对来说是比较低的,有没有只用1句s ...

  4. MySQL(九)插入、更新和删除

    常用的SQL语句,除了select用于查询,还有insert.update.delete等. 一.insert insert:用来插入(或添加)行到数据库中,常见方式有以下几种: ①插入完整的行: ② ...

  5. mySQL教程 第5章 插入 更新与删除数据

    第5章 插入 更新与删除数据 使用SQL Manager管理工具连接到schoolDB.由于三张表都设置了主键,因此,以下练习中插入的记录,主键不能重. 插入数据 1. 练习:为表的所有字段插入数据 ...

  6. 百亿级hive表更新与删除数据

    文章目录 业务说明 1.1 表的结构 1.2 文件样例 2.1 将文件导入临时表并将标签串炸裂开 3.1 找到发生变化的标签(新增与删除) 4. 循环每一个分区执行 4.1 关联存量表,将新增与删除之 ...

  7. ubuntu mysql 更新_数据库应用(三): Ubuntu 下 MySQL添加、更新与删除数据

    添加.更新与删除数据 1.添加数据 命令格式: INSERT|replace INTO 表名(字段名1,字段名2,--) VALUES(值1,值2,--), (值1,值2,--); 需要注意:使用in ...

  8. mysql插入删除_mysql插入、更新与删除

    数据库增删改查都是要熟练掌握的. 这部分就来看看前面3个比较简单的部分,增,删,改. 插入数据 为表的所有字段插入数据 insert into table_name (column_list) val ...

  9. 如何规避MyBatis使用过程中带来的全表更新风险

    作者:京东零售 贾玉西 一.前言 程序员A: MyBatis用过吧? 程序员B: 用过 程序员A: 好巧,我也用过,那你遇到过什么风险没?比如全表数据被更新或者删除了. 程序员B: 咔,还没遇到过,这 ...

最新文章

  1. E. coli Bacterial Assembly 大肠杆菌
  2. spring security源码分析之web包分析
  3. Forever让NodeJS应用后台执行
  4. 学习笔记整理之小实现
  5. 【Algorithm】冒泡排序
  6. 龙格库塔解一阶微分方程c语言,四阶龙格库塔法解微分方程
  7. docx 2003 的补丁
  8. python假设检验和区间估计_用 Python 实现常用的假设检验
  9. undertale人物_传说之下人物介绍
  10. A-Playing with Paper
  11. 编译原理基本定义(文法、算符文法、算符优先文法、算符优先关系表、算符优先分析过程)
  12. iOS开发:图标生成器Prepo 的使用,讲的明明白白
  13. Vue2 组件之间传值
  14. CSS 笔记(十二):预处理器 —— Less
  15. 专访:黑客段子手“呆子不开口”| 宅客故事
  16. python:tzinfo 对象
  17. 小学生学Arduino---------倒车指挥员
  18. 【已解决】【V1.0版本】如何彻底关闭Win10的自动更新并且随时可以恢复?
  19. 2G,3G与4G技术相关技术介绍
  20. 霍尔效应技术提供紧凑型电流测量传感器

热门文章

  1. 静态库的冲突 duplicate symbol
  2. python爬虫爬取页面源码在本页面展示
  3. 浏览器调试时控制台出现:Uncaught SyntaxError: Unexpected identifier
  4. sql一个表中两个字段合并求和
  5. Leetcode:convert_sorted_array_to_binary_search_tree
  6. [uva] 146 - ID Codes
  7. Java:Swing篇,实现JList、JTextArea的自动滚动,实时刷新功能
  8. hadoop-集群管理(3)——不常用参数
  9. linux架设subversion(svn)版本控制
  10. 在Python中写入文件时,权限被拒绝错误