在一条MySql查询中更改多列?
使用MySql中的UPDATE和REPLACE()实现。让我们首先创建一个表−
mysql> create table DemoTable
-> (
-> StudetnId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> StudentName varchar(100),
-> StudentCountryName varchar(100)
-> );
Query OK, 0 rows affected (0.67 sec)
使用insert命令在表中插入一些记录−
mysql> insert into DemoTable(StudentName,StudentCountryName) values('John','US');
Query OK, 1 row affected (0.15 sec)
使用select语句显示表中的所有记录−
mysql select *from DemoTable;
阅读更多:MySQL 教程
输出
将生成以下输出−
+-----------+-------------+--------------------+
| 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)