Update语句

  • update语句用于修改表中已经存在的数据
  • 单表修改语句结构
  • 多表修改语句结构
  • update语句的常规用法
update students set sname='abcd',gender='1' where sid=1;

update students,students2 set students.sname=students2.sname,students.gender=students2.gender where students.sid=students2.sid;
  • 单表修改是指修改指定单个表中的已经存在数据的一个或多个列 的数值;set短语后面跟要修改的列和值;
  • where子句表示限定要修改表中的哪些行数据,如果没有where子 句则表示所有行都要修改;order by子句表示update数据按照指定 的顺序进行;limit子句表示限定修改数据的行数
  • 多表修改是指修改table_references指定的多个表中满足条件的行 数据,多表修改不允许使用order by和limit子句
  • 执行update语句需要修改表的权限
  • Low_priority关键词表示修改语句需要等待其他链接的读此表操作
  • 结束后再执行,只作用在MyISAM, MEMORY, and MERGE存储引擎
  • Ignore关键词表示当修改语句碰到违反唯一性约束条件等情况是, 语句不会报错回退而是报警告信息
update students set sname=‘abc’ limit 2;		-- 只修改首先找到的两行 记录
Update students set sid=1 where sid=2; -- 执行失败,违反唯一性 约束
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
Update ignore students set sid=1 where sid=2; -- 执行成功但数据 不会修改

以下语句的col1只会比原值增加1

UPDATE t1 SET col1 = col1 + 1;

以下语句的col2和col1的结果是一样的

UPDATE t1 SET col1 = col1 + 1, col2 = col1;

Order by指定update数据的顺序

  • 在某些情况下可以避免错误的发生,比如t 表中的id字段是有唯一约束的,则以下第一个语句执行会报错,而第二个语 句执行则正常
UPDATE t SET id = id + 1;

UPDATE t SET id = id + 1 ORDER BY id DESC;

mysql> update students2 set sid=sid+1;
ERROR 1062 (23000): Duplicate entry '2' for key 'PRIMARY' mysql> update students2 set sid=sid+1 order by sid desc;
Query OK, 2 rows affected (0.04 sec)
Rows matched: 2 Changed: 2 Warnings: 0

多表修改举例(表之间通过where条件进行join操作)

UPDATE items,month SET items.price=month.price WHERE items.id=month.id;

练习

  • 将所有学号小于等于100的学生的系改为education系
  • 将姓名为ruth且id在100和200之间的老师的姓名改成carey

SQL语句-UPDATE语句的更多相关文章

  1. SQL Server UPDATE语句的用法详解

    SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用 ...

  2. sql server update语句

    update语句 --Update 语句用于修改表中的数据 语法:update 表名称 set 列名称 = 新值 where 列名称 = 某值 --更新某一行的若干列,set字句中用','隔开

  3. 8.INSERT INTO 语句 UPDATE 语句

    1. INSERT INTO 语句 INSERT INTO 语句用于向表格中插入新的行. 语法 INSERT INTO 表名称 VALUES (值1, 值2,....) INSERT INTO Per ...

  4. SQL Server Update 语句使用Nolock 语法

    Update talblename set Column='XX' from Table TableName with(nolock) where XXX

  5. 为什么SQL用UPDATE语句更新时更新行数会多3行有触发器有触发器有触发器有触发器有触发器有触发器

    update明显更新就一行,但是结果显示更新多行. 原因是有触发器有触发器有触发器有触发器有触发器有触发器有触发器有触发器有触发器

  6. [SQL] MSSQL update 语句中的关联

    将tableA 表中的所有title 用tableB中的titlename 更新掉,如果tableB中存在对应的关系 update tableA as a set a.title = (select ...

  7. SQL Update 语句详解

    SQL Update 语句详解   Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 Person: L ...

  8. SQL-W3School-基础:SQL UPDATE 语句

    ylbtech-SQL-W3School-基础:SQL UPDATE 语句 1.返回顶部 1. Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 ...

  9. SQL UPDATE 语句

    Update 语句 Update 语句用于修改表中的数据. 语法: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 Person: LastName FirstName ...

随机推荐

  1. WebPack-Loader

    Loaders 鼎鼎大名的Loaders登场了! 1.什么是loaders Loaders是webpack中最让人激动人心的功能之一了.通过使用不同的loader,webpack通过调用外部的脚本或工 ...

  2. C#学习笔记-工厂模式

    题目:计算器 解析:工厂方法(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类. 定义运算类: class Operation { ; ; public doubl ...

  3. Spring+SpringMVC+MyBatis+easyUI整合基础篇

    基础篇 Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简介 Spring+SpringMVC+MyBatis+easyUI整合基础篇(二)牛刀小试 Spring+S ...

  4. deeplearning.ai 改善深层神经网络 week2 优化算法 听课笔记

    这一周的主题是优化算法. 1.  Mini-batch: 上一门课讨论的向量化的目的是去掉for循环加速优化计算,X = [x(1) x(2) x(3) ... x(m)],X的每一个列向量x(i)是 ...

  5. linux(八)linux系统中查找文件二

    前面介绍的是find命令,我们发现一个find命令居然有那么多的命令,我看到都要晕了,不管没有关系,加油.相信自己! 一.grep命令 1.1.作用 Linux系统中grep命令是一种强大的文本搜索工 ...

  6. float浮动属性的基本常识

    CSS 浮动 请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘: 再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边 ...

  7. flume1.8 Sinks类型介绍(三)

    1. Flume Sinks 1.1 HDFS Sink 该sink把events写进Hadoop分布式文件系统(HDFS).它目前支持创建文本和序列文件.它支持在两种文件类型压缩.文件可以基于数据的 ...

  8. 微信小程序开发官方文档解读

    创建页面 在这个教程里,我们有两个页面,index 页面和 logs 页面,即欢迎页和小程序启动日志的展示页,他们都在 pages 目录下.微信小程序中的每一个页面的[路径+页面名]都需要写在 app ...

  9. oracle 数据库——知识点总结(加示例)

    新入oracle数据库,把目前学到的知识点记录下来,可能都比较基础,但还是比较全的,里面的示例都是自己在PL/SQL中跑过的,如果有错误,还望各位大侠指出哈. 创建用户 1.创建用户(使用管理员身份创 ...

  10. Eclipse安装JD-Eclipse反编译插件成功看源码

    Eclipse安装JD-Eclipse反编译插件 转载 2017年12月24日 15:19:27   http://heavengate.blog.163.com/blog/static/202381 ...