当前位置: 首页 > backend >正文

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 条件是生命线

http://www.xdnf.cn/news/16874.html

相关文章:

  • Java企业级应用性能优化实战
  • ABAP SQL更新DB小技巧 WITH INDICATORS
  • W3D引擎游戏开发----从入门到精通【10】
  • 第二节 YOLOv5参数
  • 在 macOS 上通过 Docker 部署DM8 (ARM 架构)
  • 团队独立思考的力量
  • 2025-0803学习记录21——地表分类产品的精度验证
  • MySQL存储过程和触发器
  • 【网络安全】日志文件格式
  • 「源力觉醒 创作者计划」_文心大模型4.5系列开源模型, 从一行代码到一个生态:聊聊开源战略那些事儿,顺便扯扯文心大模型 4.5 的使用心得
  • 题解:P4447 [AHOI2018初中组] 分组
  • ospf综合
  • NX947NX955美光固态闪存NX962NX966
  • C++ STL 组件及其关系:从模块化设计到图形化展示
  • [硬件电路-124]:模拟电路 - 信号处理电路 - 测量系统的前端电路详解
  • HTTP数据请求
  • 【密码学】5. 公钥密码
  • 【Linux】多路转接之epoll
  • pytorch简单理解
  • 幂等性介绍和下单接口幂等性保证实现方案
  • python创建一个excel文件
  • realIADD3复现笔记
  • 【BTC】挖矿难度调整
  • AbstractExecutorService:Java并发核心模板解析
  • 入门MicroPython+ESP32:《点亮LED灯》
  • php完整处理word中表单数据的方法
  • K8S部署ELK(一):部署Filebeat日志收集器
  • Vue3+ts自定义指令
  • Linux 动静态库的制作和使用
  • 笔记:C语言中指向指针的指针作用