mysql语句replace 使用方法和详细示例
时间: 2024-02-05 12:02:47 浏览: 33
MySQL语句REPLACE的作用是用新的数据替换表中已有的数据,如果表中不存在该数据,那么就插入一条新的数据。REPLACE语句的语法如下:
```sql
REPLACE [LOW_PRIORITY | DELAYED] [INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},...),(...),...
```
其中,LOW_PRIORITY和DELAYED表示在执行REPLACE语句的时候,是否允许其他用户对该表进行读写操作。INTO表示要进行替换的表名。在替换的时候,可以指定要替换的列名和值,也可以使用DEFAULT代表该列的默认值。
下面是一个使用REPLACE语句的示例:
```sql
REPLACE INTO users (id, name, age) VALUES (1, 'Tom', 20);
```
这条语句的作用是:如果users表中已经存在id为1的记录,那么就用新的数据替换该记录中的name和age列的值;如果不存在id为1的记录,那么就插入一条新的记录,列名和列值分别为id=1、name='Tom'和age=20。
另外,还可以使用REPLACE语句替换主键重复的记录,示例如下:
```sql
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(20),
age INT
);
INSERT INTO users (id, name, age) VALUES (1, 'Tom', 20);
INSERT INTO users (id, name, age) VALUES (2, 'Jerry', 22);
INSERT INTO users (id, name, age) VALUES (3, 'Alice', 19);
INSERT INTO users (id, name, age) VALUES (4, 'Bob', 21);
INSERT INTO users (id, name, age) VALUES (1, 'Tony', 25);
SELECT * FROM users;
```
执行完上述语句之后,users表中有5条记录,其中id为1的记录被插入了两次,第一次的name为'Tom'、age为20,第二次的name为'Tony'、age为25。现在使用REPLACE语句替换id为1的记录,将name和age分别设置为'John'和30,示例如下:
```sql
REPLACE INTO users (id, name, age) VALUES (1, 'John', 30);
SELECT * FROM users;
```
执行完以上语句之后,users表中的记录如下:
| id | name | age |
| -- | ---- | --- |
| 1 | John | 30 |
| 2 | Jerry| 22 |
| 3 | Alice| 19 |
| 4 | Bob | 21 |
可以看到,REPLACE语句成功地替换了id为1的记录,将name和age分别设置为'John'和30。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)