MySQL-REPLACE语句
功能介绍:用于向数据库表插入或更新数据。
REPLACE
语句的工作原理:
如果给定行数据不存在,那么MySQL REPLACE语句会插入新行。
如果给定行数据存在,则REPLACE
语句先删除旧行,然再插入新行。【 在某些情况下,REPLACE
语句仅更新现有行】
MySQL使用Primary Key或Unique Key
索引来要确定表中是否存在新行。如果表没有这些索引,则REPLACE
语句等同于INSERT.
要使用MySQL REPLACE
语句,至少需要具有INSERT
和DELETE
权限。
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;