MySQL中如何使用单个查询更新多条记录?
我们先创建一个表:
mysql> create table DemoTable -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Marks1 int, -> Marks2 int, -> Marks3 int -> ); Query OK, 0 rows affected (0.60 sec)
使用插入命令在表中插入一些记录:
mysql> insert into DemoTable(Marks1,Marks2,Marks3) values(45,67,34); Query OK, 1 row affected (0.33 sec) mysql> insert into DemoTable(Marks1,Marks2,Marks3) values(89,87,56); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable(Marks1,Marks2,Marks3) values(87,56,54); Query OK, 1 row affected (0.31 sec)
使用选择语句显示表中的所有记录:
mysql> select *from DemoTable;
这将产生以下输出:
+----+--------+--------+--------+ | Id | Marks1 | Marks2 | Marks3 | +----+--------+--------+--------+ | 1 | 45 | 67 | 34 | | 2 | 89 | 87 | 56 | | 3 | 87 | 56 | 54 | +----+--------+--------+--------+ 3 rows in set (0.00 sec)
以下是更新多条记录的查询:
mysql> update DemoTable -> set Marks1=98,Marks2=96,Marks3=99 -> where Id=1; Query OK, 1 row affected (0.18 sec) Rows matched: 1 Changed: 1 Warnings: 0
让我们再次查看表中的记录:
mysql> select *from DemoTable;
这将产生以下输出:
+----+--------+--------+--------+ | Id | Marks1 | Marks2 | Marks3 | +----+--------+--------+--------+ | 1 | 98 | 96 | 99 | | 2 | 89 | 87 | 56 | | 3 | 87 | 56 | 54 | +----+--------+--------+--------+ 3 rows in set (0.00 sec)
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP