仅替换 MySQL 中一列中的特定值


使用 REPLACE() MySQL 函数进行替换。由于需要针对此函数更新表格,因此请结合 SET 子句使用 UPDATE() 函数。

以下为语法 −

update yourTableName set yourColumnName=replace(yourColumnName,yourOldValue,yourNewValue);

我们先创建一张表格 −

mysql> create table DemoTable
(
   FirstName varchar(100),
   CountryName varchar(100)
);
Query OK, 0 rows affected (0.69 sec)

使用插入命令在表格中插入一些记录 −

mysql> insert into DemoTable values('John','AUS');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Bob','AUS');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('Chris','US');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('David','UK');
Query OK, 1 row affected (0.43 sec)
mysql> insert into DemoTable values('Adam','US');
Query OK, 1 row affected (0.09 sec)

使用 select 语句显示表格中的所有记录 −

mysql> select *from DemoTable;

将会生成以下输出 −

+-----------+-------------+
| FirstName | CountryName |
+-----------+-------------+
| John      | AUS         |
| Bob       | AUS         |
| Chris     | US          |
| David     | UK          |
| Adam      | US          |
+-----------+-------------+
5 rows in set (0.00 sec)

以下为替换特定值所用的查询 −

mysql> update DemoTable set CountryName=replace(CountryName,'AUS','US');
Query OK, 2 rows affected (0.17 sec)
Rows matched: 5 Changed: 2 Warnings: 0

让我们再次检查一下表格记录 −

mysql> select *from DemoTable;

将会生成以下输出 −

+-----------+-------------+
| FirstName | CountryName |
+-----------+-------------+
| John      | US          |
| Bob       | US          |
| Chris     | US          |
| David     | UK          |
| Adam      | US          |
+-----------+-------------+
5 rows in set (0.00 sec)

更新时间: 27-Sep-2019

9K+ 查看次数

开启你的职业生涯

通过完成课程获取认证

开始
广告