MySQL之UPDATE与SELECT结合语法详解与实例

2023-11-09

第一种:
语法:

UPDATE table1 SET column1 = (SELECT column FROM table2 [WHERE condition])
WHERE table1.column2 = value;

注:若不加where条件则是更新表中的所有数据,
故执行没有where子句的update要慎重再慎重。

第二种:
语法:

UPDATE table1 INNER/LEFT/RIGHT JOIN 
table2
/
(
 SELECT COLUMNS FROM table3 
 [INNER/LEFT/RIGHT JOIN ON CONDITION] 
 [WHERE conditions]
) AS t3
ON CONDITION
SET column1 = value1,column2 = value2,...
[WHERE conditions];

实例1:

UPDATE 
  $ table1 a 
  INNER JOIN $ table2 b 
    ON a.user_id = b.user_id 
    SET a.balance = a.balance + b.income,
  b.status = 1 
WHERE b.id = 1 
  AND b.status = 0;

实例2:

UPDATE 
  A 
  INNER JOIN 
    (SELECT 
      B.B1 AS B1,
      B.B2 AS B2,
      C.C1 AS C1 
    FROM
      B 
      LEFT JOIN C 
        ON B.B3 = C.C3) AS t 
    ON A.A3 = t.B1 SET A.A1 = t.B2,
  A.A2 = t.C1;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL之UPDATE与SELECT结合语法详解与实例 的相关文章

  • 未捕获的类型错误:$.ajax 不是函数

    我正在制作一个带有排行榜表的小型游戏项目 我正在尝试使用 jQuery ajax 和 PHP 从 mysql 数据库获取排行榜以显示 但它给了我一条错误消息 我的语法看起来不错 所以我不确定问题是什么 leader btn click fu
  • 日期时间值如何存储在mysql中?

    我是数据库世界的新手 我正在从 java 程序发送一个日期时间值 例如 2016 04 27 09 00 00 以便将其保存到 mysql 数据库中 我的问题是如何将该值保存到 mysql 数据库表中的日期时间类型字段中 我的意思是 它是否
  • 从 MySql 返回最后插入的 id

    我在执行以下查询时遇到了一些问题 START TRANSACTION SET LASTID 0 INSERT INTO Accounts Col1 col2 col3 col4 VALUES param1 param2 param3 par
  • MySQL 中两个 Select 查询的结果相减

    我编写了两个 mysql 查询 一个获取一年中特定月份的总用户 注册 另一个获取一年中特定月份的活跃用户 我需要找到数量inactive当年的用户 为此 我正在考虑减去通过两个单独的查询获得的总用户数和活动用户列 以下是查询 1 Fetch
  • Mysql Workbench 无法选择外键

    首先 我检查了很多问题并用谷歌搜索了很多 但没有一个解决我的问题 我正在使用 Mysql Workbench 6 3 创建表 我仅使用 gui 而不是单个查询来创建它们 之后我尝试创建一些外键int 11 列 但 GUI 不允许我这样做 这
  • 使用 PHP 连接到 Amazon RDS

    我正在尝试将 RDS 实例与 PHP 连接文件连接 这是我的文件中的内容 define DB SERVER localhost define DB USERNAME User Name define DB PASSWORD Password
  • 多个 Rails 应用程序,单个 MySQL 数据库

    我打算为 site com api site com admin site com 分别创建多个 Rails 应用程序 所有应用程序都将从一个 MySQL 数据库访问相同的表 应用程序和数据库在同一服务器上运行 对于上述访问场景 Rails
  • 选择列中包含确切数字的行,其中一组数字以逗号分隔

    也许答案很简单 但我找不到正确的 MySQL 查询来完成我想要的操作 我有桌子user id user name action type 1 joshua 1 13 12 40 2 joshua 2 8 我只想选择具有确切数字的行actio
  • 为什么 MySQL 不允许我删除“更新 CURRENT_TIMESTAMP 时”属性?

    我有一个包含两个时间戳字段的表 我只是用名称和类型定义了它们TIMESTAMP 但由于某种原因 MySQL 自动设置其中一个默认值和属性on update CURRENT TIMESTAMP 我计划在这两个字段中都没有默认值 但其中一个字段
  • Python 字符串到 SQL IN 参数的列表

    我在 python 中有这个查询 ssim group S1200 S1300 query select WIPMessageCnt from waferdata where recipename in s and equipment an
  • 如何使用 PHP mysqli 增加 MySQL 中的值

    我在 MySQL 表中有一个整数列 名为col1 现在 我需要的是将其值增加某个数字 例如 1 可能是 2 3 或任何数字 也就是说 如果它的值已经是 10 现在我希望它变成 11 我知道 我可以通过首先选择原始值 用 PHP 增加它 然后
  • PDO::debugDumpParams 的输出是否有最大值?

    使用 PDO debugDumpParams 时 对于 选定 查询 输出显示的字符数是否有最大限制 大约 500 个字符后 查询将在查询中间结束 而在输出准备 query 变量时 将显示完整的查询 此外 当删除查询的某些部分时 它仍然显示一
  • 连接错误 - SQLSTATE[HY000] [2002] 操作超时

    我在从 Windows 2008 R2 应用程序服务器连接到也在 Windows 2008 R2 上运行的 MySQL 服务器时遇到问题 Laravel 应用程序报告错误 exception PDOException with messag
  • INET6_ATON 的替代 MySQL 代码

    将旧的 INET ATON 值转换为新的二进制 INET6 ATON 值 无需 INET6 ATON INET6 NTOA 我们在表中已有数据 字段类型为UNSIGNED INT其中保存了使用以下命令创建的 IPv4 数据INET ATON
  • ERROR 188 (HY000): FTS 查询超出结果缓存限制 mysql

    我的表的文本列上有全文索引 约有 1100 万行 表结构 CREATE TABLE review id int 11 NOT NULL AUTO INCREMENT comments text COLLATE utf8mb4 unicode
  • MySQL:主键的所有部分都必须为 NOT NULL;如果您需要在键中使用 NULL,请使用 UNIQUE 代替

    我的 MySQL 有问题 我创建了名为 BucketList 的数据库 然后尝试创建名为 tbl user 的表 它看起来像这样 CREATE TABLE BucketList tbl user user id BIGINT NULL AU
  • MySQL 一起使用 LIKE、AND、OR

    我正在创建一个搜索功能来搜索一些图片 每张图片都有一个状态 表示它是被批准还是被拒绝 mysql 在返回之前检查状态 但是它仍然返回不应该返回的图像 这是我的查询 SELECT FROM Pictures WHERE ImageTitle
  • html iframe 中的字符错误

    对不起我的英语我说西班牙语 我正在尝试显示多个php and mysql将在 iframe 内显示的注册 问题是 iframe 向我显示特殊字符的错误 例如 重音符号 感叹号等 D ndecuestamenosyseconsumem s 这
  • 无法在 MySQL 中运行查询语法错误意外

    我正在运行工作台 5 2 47 我写了一个很长的程序 用于基本数据检查 如果数据库中不存在记录 则将插入该记录 该过程保存时没有任何问题 但当我尝试运行它时 MySQL 5 5 抛出错误 它很长 里面有很多公司敏感数据 或者我会把它发布在这
  • 'SQLSTATE[HY093]:参数数量无效:绑定变量的数量与令牌数量不匹配'[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我收到 SQLSTATE HY093 的错误 参数编号无效 绑定变量的数量与标记的数量不匹配 if isset POST cada

随机推荐

  • ADC各参数含义

    文章目录 前言 一 ADC工作原理 二 详细参数 1 分辨率 2 转换率 采样率 转化时间 3 最低有效位 LSB 最高有效位 MSB 4 量化误差 5 SNR 6 失调误差 7 增益误差 8 微分非线性 DNL 9 积分非线性 INL 1
  • 《数据分析思维》:分析方法与业务知识

    小飞象 读书会 生活从来不会刻意亏欠谁 它给你一块阴影 必会在不远处撒下阳光 读书交流 3期 数据分析方法与业务知识 data analysis 分享人 木兮 欢迎大家参加这次读书会的直播分享 本次分享由学委木兮来带大家梳理一下 数据分析思
  • 【STM32篇】步进电机之S型曲线

    使用步进电机的S曲线算法的目的是为了使电机缓慢加速到目标转速或从高转速减速到0 防止电机在高转速时立即停止而对电机造成损伤 减少电机的使用寿命 本文主要讲述S型算法的使用 对于具体的原理 可通过其他博主的文章学习 图1 S算法加减速图 如图
  • libvirt笔记 PCI设备直通

    PCI设备直通功能允许将主机上的物理PCI设备直接分配给来宾机 客户操作系统驱动程序可以直接使用设备硬件 而无需依赖主机操作系统的任何驱动程序功能 在使用PCI设备直通时需要注意一些事项 当将PCI设备直接分配给客户机时 如果不首先从客户机
  • 静态代码和动态代码的区别_动态改变的代码设计思想

    前言 我看过很多书 知道那些作者在推广什么 相对书里的东西落地 还是一个不容易的过程 我看过很多行业的代码 持续多年的积累 聊过一些老板 对代码改造的看法 为什么 程序员这么难 我将用4个方向 来解释代码设计中的设计思路和方法 给大家展现一
  • Android登录 之 GooglePlay登录

    想法 写了好久代码了 但是都没有具体的总结下 总是用到的时候 再去翻看资料 一看就是一堆 到最后都不一定能管用 近期做了一些项目 涉及到了登录授权 细回想下 自己接过的登录授权还真心不少 不同的授权都会一一列举 以后方便自己 也希望能够方便
  • Fatal error: Cannot declare class ***, because the name is already in use in D:\www\test.php

    报错信息 Fatal error Cannot declare class because the name is already in use in D www test php on line 5 报错原因 该class 文件在其他引入
  • Tomcat控制台打印输出中文时的乱码问题

    这个问题我参考了许多网上的解决方法 这个方法是比较迅速与方便的 产生这个问题的原因是Windows默认编码集为GBK 由于使用startup bat启动Tomcat时 它会读取catalina bat的代码并打开一个新窗口运行 打开的cmd
  • 信号量详细解说

    1 信号量概述 进化版的互斥锁 1 gt N 由于互斥锁的粒度比较大 如果我们希望在多个线程间对某一对象的部分数据进行共享 使用互斥锁是没有办法实现的 只能将整个数据对象锁住 这样虽然达到了多线程操作共享数据时保证数据正确性的目的 却无形中
  • webdriver安装

    首先了解自己所需使用的浏览器 这里以谷歌浏览器为例 火狐 Edge安装方式相同 找相应webdriver即可 查看自己浏览器的版本 去官网找对应版本的webdriver 网址 http npm taobao org mirrors chro
  • SD3.0协议解读三

    SD卡功能描述 所有主机和SD卡间的通信都是由主机控制的 这和USB是一致的 例如 U盘并没有主动通知USB控制器的能力 USB鼠标也没有主动通知USB控制器的能力 当然 SD卡也是没有主动通知SD控制器的能力的 主机发送的命令有两种 一种
  • 几个开发模式

    瀑布模型 开发过程顺序进行 过程规范 有质量保证 但是不能够应对需求变化 更改代价较高 灵活性较低 V模型 基于瀑布模型 但是更强调测试过程 有质量保证 显示出不同层次上的测试方法 并且将测试阶段与开发阶段相联系 原型模型 主要解决核心问题
  • @RabbitListener起作用的原理

    一 前言 在spring中 定义rabbitMq的消费者可以相当方便 只需要在消息处理类或者类方法加上 RabbitListener注解 指定队列名称即可 如下代码 Component public class RabbitMqListen
  • STM32长时间工作后串口不能接收

    问题 记录一次STM32长时间工作后 串口不能正常接收数据 其他功能正常 场景简单描述 在某一个产品上STM32作为前面板的控制 有多个中断开启 大部分的中断级别为0 串口的中断级别为1 串口中断接收 普通方式发送 出现长时间工作之后串口不
  • 快速解决node-sass报错问题

    1 引言 由于项目中需要使用到node sass 因此怀疑我的环境出问题了 于是决定配置nvm让环境变得更加灵活 便于切换node的版本 2 直接开始 1 安装nvm 链接 https pan baidu com s 1Li4o34jB6o
  • 五人合伙最佳股份分配_5人合伙,4个人投资源,1人经营,股权应该如何划分?...

    最近一个客户找到股加加进行咨询 说 我们公司是做新媒体运营培训的 主要靠卖课和咨询服务 3个投资源的手上有很多大V 流量较大的平台这方面的资源 可以拉来业务 我负责经营 另一个出资的 打算投40万到公司 应该给他多少股份 其他四人都是兼职人
  • 【前端编辑器分析(markdown,富文本)】

    随着近几年markdown编辑器的流行 富文本编辑器不再是唯一选择 但是主体都是工具栏加编辑区的模式 1 markdown markdown使用格式标记语言编排内容 当你要修改文章某个地方的格式时 在该位置加入对应的格式符号即可 markd
  • Unable to connect to 127.0.0.1:6379 的解决办法

    问题 Unable to connect to 127 0 0 1 6379 解决办法 1 在redis的目录下输入cmd 2 redis server exe redis windows conf 不关闭窗口 3 然后在新开一个cmd窗口
  • 利用MOS管使电路供电电压稳定之后,降低供电电压的方法

    现在有一款产品需要1 005V高电压启动 0 903V低电压运行 这也是从低功耗的角度设计 下面电路就是利用一颗N沟道MOS管来实现上电瞬间输出高电压 核心板启动之后 输出低电压 SAR GPIO1引脚接的MCU 的GPIO口 先上data
  • MySQL之UPDATE与SELECT结合语法详解与实例

    第一种 语法 UPDATE table1 SET column1 SELECT column FROM table2 WHERE condition WHERE table1 column2 value 注 若不加where条件则是更新表中