用 MySQL 单个查询修改多个列?


使用 MySQL 中的 UPDATE 和 REPLACE() 更新记录。我们先创建一个表格 -

mysql> create table DemoTable
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> StudentName varchar(100),
   -> StudentCountryName varchar(100)
   -> );
Query OK, 0 rows affected (0.67 sec)

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

mysql> insert into DemoTable(StudentName,StudentCountryName) values('John','US');
Query OK, 1 row affected (0.15 sec)

使用选择语句显示表格中的所有记录 -

mysql select *from DemoTable;

输出

将产生以下输出 -

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
|         1 | John        | US                 |
+-----------+-------------+--------------------+
1 row in set (0.00 sec)

以下是更新多列的查询 -

mysql> update DemoTable
   -> set StudentName=replace(StudentName,'John','Chris'),
   -> StudentCountryName=replace(StudentCountryName,'US','UK');
Query OK, 1 row affected (0.69 sec)
Rows matched: 1 Changed: 1 Warnings: 0

让我们再次检查表格记录 -

mysql> select *from DemoTable;

输出

将产生以下输出 -

+-----------+-------------+--------------------+
| StudentId | StudentName | StudentCountryName |
+-----------+-------------+--------------------+
|         1 | Chris       | UK                 |
+-----------+-------------+--------------------+
1 row in set (0.00 sec)

更新于: 30-6-2020

492 次浏览

助力您的职业生涯

完成课程并获得认证

开始
广告