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;