SQL语法基础之updata

• update语句用于修改表中已经存在的数据
• 单表修改语句结构
SQL语法基础之updata
• 多表修改语句结构
SQL语法基础之updata
• update语句的常规用法
SQL语法基础之updata
• 单表修改是指修改指定单个表中的已经存在数据的一个或多个列
的数值;set短语后面跟要修改的列和值;
• where子句表示限定要修改表中的哪些行数据,如果没有where子
句则表示所有行都要修改;order by子句表示update数据按照指定
的顺序进行;limit子句表示限定修改数据的行数
• 多表修改是指修改table_references指定的多个表中满足条件的行
数据,多表修改不允许使用order by和limit子句
• 执行update语句需要修改表的权限
• Low_priority关键词表示修改语句需要等待其他链接的读此表操作
结束后再执行,只作用在MyISAM, MEMORY, and MERGE存储引擎
• Ignore关键词表示当修改语句碰到违反唯一性约束条件等情况是,
语句不会报错回退而是报警告信息
SQL语法基础之updata
##只修改首先找到的两行
记录
Update ignore students6 set sid=1 where sid=2;
##执行成功但数据
不会修改
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;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值