MySql中使用INSERT INTO语句更新多条数据的例子

 更新时间:2014年06月25日 11:28:52   投稿:junjie  
这篇文章主要介绍了MySql中使用INSERT INTO语句更新多条数据的例子,MySQL的特有语法,需要的朋友可以参考下

我们知道当插入多条数据的时候insert支持多条语句:

复制代码 代码如下:

INSERT INTO t_member (id, name, email) VALUES
    (1, 'nick', 'nick@126.com'),
    (4, 'angel','angel@163.com'),
    (7, 'brank','ba198@126.com');

但是对于更新记录,由于update语法不支持一次更新多条记录,只能一条一条执行:

复制代码 代码如下:

UPDATE t_member SET name='nick', email='nick@126.com' WHERE id=1;
UPDATE t_member SET name='angel', email='angel@163.com' WHERE id=4;
UPDATE t_member SET name='brank', email='ba198@126.com' WHERE id=7;

这里问题就出现了,倘若这个update list非常大时(譬如说5000条),这个执行率可想而知。

这就要介绍一下在MySql中INSERT语法具有一个条件DUPLICATE KEY UPDATE,这个语法和适合用在需要判断记录是否存在,不存在则插入存在则更新的记录。

具体的语法可以参见:http://dev.mysql.com/doc/refman/5.0/en/insert.html

基于上面这种情况,针对更新记录,仍然使用insert语句,不过限制主键重复时,更新字段。如下:

复制代码 代码如下:

INSERT INTO t_member (id, name, email) VALUES
    (1, 'nick', 'nick@126.com'),
    (4, 'angel','angel@163.com'),
    (7, 'brank','ba198@126.com')
ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email);

注意:ON DUPLICATE KEY UPDATE只是MySQL的特有语法,并不是SQL标准语法!

相关文章

  • Mysql入门基础 数据库创建篇

    Mysql入门基础 数据库创建篇

    Mysql入门基础 数据库创建篇,刚接触php与mysql的朋友可以参考下。多写多测试。
    2010-04-04
  • MySQL使用组合查询的示例代码

    MySQL使用组合查询的示例代码

    本文主要介绍了MySQL使用组合查询的示例代码,如何使用UNION操作符来组合SELECT语句,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • mysql如何变更自增主键id起始值

    mysql如何变更自增主键id起始值

    这篇文章主要介绍了mysql如何变更自增主键id起始值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • MySQL错误:You can‘t specify target table ‘xxx‘ for update in FROM clause的解决方案

    MySQL错误:You can‘t specify target table&n

    在编写MySQL的UPDATE或DELETE语句时,如果子查询中直接引用了要操作的目标表,可能会遇到一个常见的错误:You can’t specify target table ‘xxx’ for update in FROM clause,这个错误让许多开发者感到困惑,本文将深入分析其原因,并提供多种解决方案,
    2025-02-02
  • MySQL 连接查询的原理和应用

    MySQL 连接查询的原理和应用

    这篇文章主要介绍了MySQL 连接查询的原理和应用,帮助大家更好的理解和学习MySQL数据库,感兴趣的朋友可以了解下
    2020-11-11
  • 保存图片到MySQL以及从MySQL读取图片全过程

    保存图片到MySQL以及从MySQL读取图片全过程

    有人喜欢使用mysql来存储图片,而有的人喜欢把图片存储在文件系统中,而当我们要处理成千上万的图片时,会引起技术问题,下面这篇文章主要给大家介绍了关于如何保存图片到MySQL以及从MySQL读取图片的相关资料,需要的朋友可以参考下
    2023-05-05
  • MySQL索引与事务定义到使用详解

    MySQL索引与事务定义到使用详解

    这篇文章主要介绍了MySQL数据库索引事务,索引是为了加速对表中数据行的检索而创建的一种分散的存储结;事物是属于计算机中一个很广泛的概念,一般是指要做的或所做的事情,下面我们就一起进入文章了解具体内容吧
    2022-12-12
  • SQL中where语句的用法及实例代码(条件查询)

    SQL中where语句的用法及实例代码(条件查询)

    WHERE如需有条件地从表中选取数据,可将WHERE 子句添加到SELECT语句,下面这篇文章主要给大家介绍了关于SQL中where语句的用法及实例(条件查询)的相关资料,需要的朋友可以参考下
    2022-10-10
  • MySQL中设置NULL和空白字符串的问题及解决

    MySQL中设置NULL和空白字符串的问题及解决

    这篇文章主要介绍了MySQL中设置NULL和空白字符串的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL之复杂查询的实现

    MySQL之复杂查询的实现

    本文主要介绍了MySQL之复杂查询的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02

最新评论