MySQL中的replace语句是SQL标准的扩展名。此语句与INSERT语句相同,当无涯教程想要将现有记录更新到表中以使其更新时,需要此语句。replace命令需要两个操作之一:
在replace语句中,更新以两步执行。首先,它将删除现有记录,然后添加新更新的记录,类似于标准插入命令。因此,无涯教程可以说replace语句执行两个标准函数, delete 和 insert。
以下是replace mysql 的语句的语法:
REPLACE [INTO] table_name(column_list) VALUES(value_list);
replace示例 - 首先,无涯教程将使用以下语句创建一个名为"person"的表:
CREATE TABLE Person ( ID int AUTO_INCREMENT PRIMARY KEY, Name varchar(45) DEFAULT NULL, Email varchar(45) DEFAULT NULL UNIQUE, City varchar(25) DEFAULT NULL );
接下来,无涯教程需要使用insert语句将记录填充到表中:
INSERT INTO Person(ID, Name, Email, City) VALUES (1,'Mike', 'mike@learnfk.com', 'California'), (2, 'Alexandar', 'alexandar@learnfk.com', 'New York'), (3, 'Adam', 'adam@learnfk.com', 'Los Angeles'), (4, 'Peter', 'Peter@learnfk.com', 'Alaska');
执行 SELECT验证以下输出中可以显示的记录:
验证数据后,无涯教程可以使用replace语句用新行Replace任何旧行。执行以下声明,更新ID为4 的 city。
REPLACE INTO Person (id, city) VALUES(4,'Amsterdam');
成功执行上述声明后,需要再次查询表格的数据以验证Replace替换。
Name 和Email列的值是 null 现在。它是因为替换语句的工作如下:
可以使用以下replace语句将行数据更新到表中:
REPLACE INTO table SET column1 = value1, column2 = value2;
执行以下示例,使用replace语句将名为 mike 从 california 到Birmingham。
REPLACE INTO Person SET ID = 1, Name = 'Mike', City = 'Birmingham';
验证表后,无涯教程可以看到以下输出:
无涯教程可以使用以下替换为语句将数据插入到表中,其中数据从查询返回。
REPLACE INTO table1(column_list) SELECT column_list FROM table2 WHERE condition;
值得注意的是,上面的替换查询与插入类似于选择语句。执行以下示例,该示例使用replace to语句来复制同一表中的行。
REPLACE INTO Person(Name, City) SELECT Name, City FROM Person WHERE id = 2;
验证表后,无涯教程将获得以下输出。在此输出中,可以看到成功添加了同一表中行中的行的副本。
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)