SQL语句-UPDATE语句

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

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
目录
相关文章
|
6月前
|
SQL 数据库
SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用
NULL 值是指字段没有值的情况。如果表中的字段是可选的,那么可以插入新记录或更新记录而不向该字段添加值。此时,该字段将保存为 NULL 值。需要注意的是,NULL 值与零值或包含空格的字段不同。具有 NULL 值的字段是在记录创建期间留空的字段。
111 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
MySQL技能完整学习列表3、SQL语言基础——1、SQL(Structured Query Language)简介——2、基本SQL语句:SELECT、INSERT、UPDATE、DELETE
117 0
|
2月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
44 1
|
3月前
|
SQL 关系型数据库 数据库
关系型数据库SQL server UPDATE 语句
【8月更文挑战第3天】
67 10
|
6月前
|
SQL 存储 关系型数据库
SQL的基本语法以及SQL语句的关键字的使用,SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
SQL的基本语法以及SQL语句的关键字的使用,SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
|
4月前
|
SQL
SQL UPDATE 语句
【7月更文挑战第12天】SQL UPDATE 语句。
60 8
|
4月前
|
SQL 数据库
SQL UPDATE 语句
【7月更文挑战第11天】SQL UPDATE 语句。
56 1
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——SQL优化(3/3)-limit 优化、count 优化、update 优化、SQL优化 小结
MySQL数据库——SQL优化(3/3)-limit 优化、count 优化、update 优化、SQL优化 小结
299 0
|
5月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
71 0
|
6月前
|
SQL 关系型数据库 MySQL