【问题标题】:What are differences between INSERT and UPDATE in MySQL?MySQL 中的 INSERT 和 UPDATE 有什么区别?
【发布时间】:2011-01-01 10:19:18
【问题描述】:

似乎INSERTUPDATE 对我做同样的事情。

在什么情况下我应该使用INSERT 而不是UPDATE,反之亦然?

【问题讨论】:

  • 如果你真的相信:1)创建一个表,2)立即运行一个UPDATE语句3)从表中选择*。

标签: mysql sql sql-update sql-insert


【解决方案1】:

CRUD operations 中,INSERT 是“C”,UPDATE 是“U”。它们是持久存储的四个基本功能中的两个。另外两个是SELECTDELETE。至少没有这四个操作,一个典型的数据库系统不能被认为是完整的。

使用INSERT 插入一条新记录。

使用UPDATE 更新现有记录。

【讨论】:

  • 为什么不能直接插入现有记录。也许 SQL 不允许这样做,但它们不就等同于同一件事吗?
  • 在 CQL 中(不是 MySQL),您可以将数据插入到现有数据中。但主键必须相同。
【解决方案2】:

您不能更新不在表中的行。

您不能插入已经在表中的行。

【讨论】:

  • 如果您需要将数据添加到可能有数据也可能没有数据的列中怎么办?是否有强制插入模式,或某种 INSERT-UPDATE 混合模式?
  • 在mysql中,我们有EXISTS关键字和IFNULL关键字来检查引用的数据是否处于某种状态。它看起来像 INSERT INTO table_name IFNULL follower by UPDATE table_name IF EXISTS。这种方法可能需要更多的线路而不是理想的,老实说可能有更好的解决方案,但至少它会起作用
【解决方案3】:

Insert 用于向表中添加数据,update 用于更新表中已有的数据。

【讨论】:

    【解决方案4】:

    UPDATE 语句可以使用 WHERE 子句,但 INSERT 不能。

    【讨论】:

    【解决方案5】:

    插入用于将新记录放入表中。而更新使您能够修改插入的记录,例如修改数据类型等。

    【讨论】:

      【解决方案6】:

      插入对于在空白行中插入新记录很有用。 而 Update 可用于更新非空白行。

      【讨论】:

        猜你喜欢
        • 2012-02-28
        • 2013-05-08
        • 2019-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-02
        • 2017-07-25
        相关资源
        最近更新 更多