You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中如何为class表不同Roll Number对应行批量插入Subject列数据

你可以通过以下两种方案实现MySQL class表的Subject字段按Roll Number规则批量更新:

方案一:逐行更新(适合规则数量少的场景)

语法简单易懂,不易出错:

-- 更新Roll Number为1的行科目为数学(原英文Maths)
UPDATE class SET Subject = 'Maths' WHERE `Roll Number` = 1;
-- 更新Roll Number为2的行科目为生物学(原英文Biology)
UPDATE class SET Subject = 'Biology' WHERE `Roll Number` = 2;
-- 更新Roll Number为4的行科目为计算机(原英文Computers)
UPDATE class SET Subject = 'Computers' WHERE `Roll Number` = 4;
-- 更新Roll Number为5的行科目为音乐(原英文Music)
UPDATE class SET Subject = 'Music' WHERE `Roll Number` = 5;

注意:字段名Roll Number包含空格,必须用反引号包裹,否则会触发MySQL语法错误。如果需要插入中文科目,直接替换语句中单引号内的英文即可。

方案二:批量更新(适合规则多、数据量大的场景)

仅需一次表扫描即可完成所有更新,执行效率更高:

UPDATE class
SET Subject = CASE `Roll Number`
    WHEN 1 THEN 'Maths'
    WHEN 2 THEN 'Biology'
    WHEN 4 THEN 'Computers'
    WHEN 5 THEN 'Music'
    ELSE Subject -- 不匹配规则的行保留原有值
END
WHERE `Roll Number` IN (1,2,4,5); -- 仅更新需要修改的行,降低性能消耗

操作建议

执行UPDATE前建议先运行以下查询验证匹配结果,确认无误后再执行更新,避免误改数据:

SELECT 
  Name,
  `Roll Number`,
  CASE `Roll Number`
    WHEN 1 THEN 'Maths'
    WHEN 2 THEN 'Biology'
    WHEN 4 THEN 'Computers'
    WHEN 5 THEN 'Music'
    ELSE '无匹配规则' 
  END AS 待更新的科目内容
FROM class
WHERE `Roll Number` IN (1,2,4,5);

内容的提问来源于stack exchange,提问作者Amrit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:15:03