mysql语句replace 替换使用方法和详细示例
时间: 2023-10-24 13:12:00 浏览: 176
MYSQL 批量替换之replace语法的使用详解
MySQL中的REPLACE语句用于替换表中的数据。如果表中已经存在相同的数据,则会删除旧数据并插入新数据。
REPLACE语句语法:
```
REPLACE INTO table_name (column1, column2, ..., columnN) VALUES (value1, value2, ..., valueN);
```
其中,table_name是要替换数据的表名,column1、column2、...、columnN是要替换的列名,value1、value2、...、valueN是要替换的值。
示例1:替换表中的数据
假设有一个名为students的表,其中有一条数据为:
| id | name | age |
|----|-------|-----|
| 1 | Alice | 18 |
现在要替换这条数据的name和age,可以使用以下语句:
```
REPLACE INTO students (id, name, age) VALUES (1, 'Bob', 20);
```
执行后,数据变为:
| id | name | age |
|----|------|-----|
| 1 | Bob | 20 |
示例2:替换表中的数据并返回删除的旧数据
如果表中已经存在相同的数据,REPLACE语句会删除旧数据并插入新数据。可以使用SELECT语句结合REPLACE语句,返回删除的旧数据。
假设有一个名为students的表,其中有两条数据为:
| id | name | age |
|----|-------|-----|
| 1 | Alice | 18 |
| 2 | Bob | 20 |
现在要替换id为1的数据,可以使用以下语句:
```
SELECT * FROM students WHERE id = 1;
REPLACE INTO students (id, name, age) VALUES (1, 'Charlie', 22);
```
执行后,会先返回删除的旧数据:
| id | name | age |
|----|-------|-----|
| 1 | Alice | 18 |
然后数据变为:
| id | name | age |
|----|---------|-----|
| 1 | Charlie | 22 |
| 2 | Bob | 20 |
阅读全文