-- 示例代码:批量修改MySQL表中的数据
-- 假设我们有一个名为 `users` 的表,包含以下字段:
-- id (INT), name (VARCHAR), age (INT)
-- 1. 使用 UPDATE 语句批量修改多个记录
UPDATE users
SET age = age + 1
WHERE id IN (1, 2, 3, 4, 5);
-- 解释:这条 SQL 语句将 `users` 表中 `id` 为 1 到 5 的用户的 `age` 字段值增加 1。
-- 2. 使用 CASE 语句进行更复杂的批量修改
UPDATE users
SET name = CASE id
WHEN 1 THEN 'Alice'
WHEN 2 THEN 'Bob'
WHEN 3 THEN 'Charlie'
ELSE name
END
WHERE id IN (1, 2, 3);
-- 解释:这条 SQL 语句根据 `id` 的值分别设置不同的 `name`。如果 `id` 是 1,则将 `name` 设置为 'Alice';如果是 2,则设置为 'Bob';如果是 3,则设置为 'Charlie'。其他记录的 `name` 不变。
-- 3. 批量插入或更新(UPSERT)
INSERT INTO users (id, name, age) VALUES
(6, 'David', 30),
(7, 'Eva', 25),
(8, 'Frank', 35)
ON DUPLICATE KEY UPDATE
name = VALUES(name),
age = VALUES(age);
-- 解释:这条 SQL 语句尝试插入新的记录。如果 `id` 已经存在,则更新现有的记录。`ON DUPLICATE KEY UPDATE` 子句指定了在发生重复键冲突时要执行的操作。
上一篇:mysql 上个月
下一篇:mysql dayofweek
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站