MySQL-修改数据(REPLACE)

时间:2022-06-01 18:45:22

MySQL-REPLACE语句

功能介绍:用于向数据库表插入或更新数据。

REPLACE语句的工作原理:


 

  如果给定行数据不存在,那么MySQL REPLACE语句会插入新行。

  如果给定行数据存在,则REPLACE语句先删除旧行,然再插入新行。【 在某些情况下,REPLACE语句仅更新现有行】

  MySQL使用Primary Key或Unique Key索引来要确定表中是否存在新行。如果表没有这些索引,则REPLACE语句等同于INSERT.

  要使用MySQL REPLACE语句,至少需要具有INSERTDELETE权限。


 

REPLACE语句实例:

第一步:创建一个名为cities的新表

USE testdb;

CREATE TABLE cities (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    population INT NOT NULL
);

第二步: 在cities表中插入一些行记录:

INSERT INTO cities(name,population)
VALUES('New York',8008278),
   ('Los Angeles',3694825),
   ('Shanghai',1923400);

第三步:UPDATE与REPLACE语句更新数据对比:

假设我们要将纽约市的人口更新为1008256,可以使用UPDATE语句如下:

UPDATE cities 
SET 
    population = 1008256
WHERE
    id = 1;

假设我们要将洛杉矶市的人口更新为3696820,可以使用REPLACE语句如下:

REPLACE INTO cities(id,population) VALUES(2,3696820);

REPLACE INTO cities SET id = 4, name = 'Phoenix', population = 1768980;