SQL157 更新记录(一)

描述

现有一张试卷信息表examination_info,表结构如下图所示:

FiledTypeNullKeyExtraDefaultComment
idint(11)NOPRIauto_increment(NULL)自增ID
exam_idint(11)NOUNI(NULL)试卷ID
tagchar(32)YES(NULL)类别标签
difficultychar(8)YES(NULL)难度
durationint(11)NO(NULL)时长
release_timedatetimeYES(NULL)发布时间

请把examination_info表中tag为PYTHON的tag字段全部修改为Python。

后台会通过执行'SELECT exam_id,tag,difficulty,duration,release_time FROM examination_info;'语句来对比结果。

UPDATE examination_info
SET tag='Python'
WHERE tag='PYTHON';

SQL UPDATE 语句 

作用:修改表中已存在的记录。

基本语法

UPDATE 表名
SET 列1=新值1, 列2=新值2, ...
[WHERE 条件];

关键点

  1. WHERE 是必须的(除非想改全表)

    • 它指定哪些行需要更新。
    • 漏写 WHERE 会更新所有行!(危险!)
    • 执行前,先用 SELECT 验证 WHERE 条件
  2. 示例

    UPDATE examination_info
    SET tag='Python'
    WHERE tag='PYTHON'; -- 只改 tag 是 'PYTHON' 的行
    • 目的:将标签从全大写 'PYTHON' 修正为 'Python'
    • 安全WHERE 精准定位目标行,避免误改。
  3. 可以更新多列

    UPDATE examination_info
    SET level='medium', duration=75
    WHERE exam_id=9003;
  4. 可以使用表达式

    UPDATE exam_record
    SET score = score + 5 -- 分数加5分
    WHERE score < 80;
  5. REPLACE INTO 的区别

    • UPDATE直接修改现有行,主键不变
    • REPLACE INTO:冲突时先删后插,主键会变。

一句话总结

UPDATE ... SET ... WHERE ... 安全地修改数据,WHERE 条件是生命线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值