精华内容
下载资源
问答
  • mysqlupdate语句
    万次阅读
    2019-05-22 09:57:40
    # UPDATE语句用于修改表的记录
    # 把每个员工的编号和上司的编号+1,用order by子句完成(提示按照降序来执行)
    UPDATE t_emp SET empno=empno+1,mgr=mgr+1 
    ORDER BY empno DESC;
    
    # 把月收入前三名的员工减薪100元,用LIMIT子句完成
    UPDATE t_emp SET sal=sal-100
    ORDER BY sal+IFNULL(comm,0) DESC
    LIMIT 3;
    
    # 把10部门中,工龄超过20年的员工,底薪增加200元
    UPDATE t_emp SET sal=sal+100
    WHERE deptno=10 AND FLOOR(DATEDIFF(NOW(),hiredate)/365)>20;
    
    # 把ALLEN调往RESEARCH部门,职务调整为ANALYST,工作地点调整为北京(修改了两张表)
    # UPDATE语句的表连接(内)
    # 语法一
    # UPDATE 表1 JOIN 表2 ON 条件 SET 字段1=值1,字段2=值2,......;
    UPDATE t_emp e JOIN t_dept d
    SET e.deptno=d.deptno,e.job="ANALYST",d.loc="BEIJING"
    WHERE e.ename="ALLEN" AND d.dname="RESEARCH";
    
    # 语法二
    # UPDATE 表1,表2 SET 字段1=值1,字段2=值2,...... WHERE 连接条件
    UPDATE t_emp e,t_dept d
    SET e.deptno=d.deptno,e.job="ANALYST",d.loc="GUANGZHOU"
    WHERE e.ename="ALLEN" AND d.dname="RESEARCH";
    
    # 把底薪低于公司平均底薪的员工,底薪增加150元
    UPDATE t_emp e,(SELECT AVG(sal) as avg FROM t_emp) t
    SET e.sal=e.sal+150
    WHERE e.sal<t.avg;
    
    # update外连接
    # UPDATE 表1 [LEFT|RIGHT] JOIN 表2 ON 条件 SET 字段1=值1,字段2=值2,...
    # 把没有部门的员工,或者sales部门低于2000元底薪的员工,都调往20部门
    UPDATE t_emp e LEFT JOIN t_dept d ON e.deptno=d.deptno
    SET e.deptno=20
    WHERE e.deptno IS NULL OR (d.dname="SALES" AND e.sal<2000);
    

     

    更多相关内容
  • 今天我们主要向大家讲述的是MySQL update 语句的实际用法,以及在实际操作中哪些相关的操作步骤是值得我们大家注意的。
  • MySQL update 语句的正确用法

    千次阅读 2021-02-06 16:09:32
    以下的文章主要介绍的MySQLupdate 语句的实际用法,我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案,以下就是文章的详细内容描述,望你看完之后会有收获。单表的MySQL UPDATE语句:UPDATE[LOW_...

    以下的文章主要介绍的MySQL

    update 语句的实际用法,我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案,以下就是文章的详细内容描述,望你看完之后会有收获。

    单表的MySQL UPDATE语句:

    UPDATE [LOW_PRIORITY] [IGNORE] tbl_name

    SET

    col_name1

    =

    expr1

    [,

    col_name2

    =

    expr2

    ...]

    [WHERE where_definition]

    [ORDER BY ...]

    [LIMIT row_count]

    多表的UPDATE语句:

    UPDATE [LOW_PRIORITY] [IGNORE] table_references

    SET

    col_name1

    =

    expr1

    [,

    col_name2

    =

    expr2

    ...]

    [WHERE where_definition]

    UPDATE语法可以用新值更新原有表行中的各列。SET子句指示要修改哪些列和要给予哪些值。WHERE子句指定应更新哪些行。如果没有

    WHERE子句,则更新所有的行。如果指定了ORDER

    BY子句,则按照被指定的顺序对行进行更新。LIMIT子句用于给定一个限值,限制可以被更新的行的数目。

    MySQL UPDATE语句支持以下修饰符:

    如果您使用LOW_PRIORITY关键词,则UPDATE的执行被延迟了,直到没有其它的客户端从表中读取为止。

    如果您使用IGNORE关键词,则即使在更新过程中出现错误,更新语句也不会中断。如果出现了重复关键字冲突,则这些行不会被更新。如果列被更新后,新值会导致数据转化错误,则这些行被更新为最接近的合法的值。

    如果您在一个表达式中通过tbl_name访问一列,则UPDATE使用列中的当前值。例如,以下语句把年龄列设置为比当前值多一:

    MySQL>

    UPDATE persondata SET

    age

    age

    =age+1;

    MySQL UPDATE赋值被从左到右评估。例如,以下语句对年龄列加倍,然后再进行增加:

    MySQL>

    UPDATE persondata SET

    age

    age

    =age*2,

    age

    age

    =age+1;

    如果您把一列设置为其当前含有的值,则MySQL会注意到这一点,但不会更新。

    如果您把被已定义为NOT NULL的列更新为NULL,则该列被设置到与列类型对应的默认值,并且累加警告数。对于数字类型,默认值为0;对于字符串类型,默认值为空字符串('');对于日期和时间类型,默认值为“zero”值。

    UPDATE会返回实际被改变的行的数目。MySQL_info() C API函数可以返回被匹配和被更新的行的数目,以及在UPDATE过程中产生的警告的数量。

    您可以使用LIMIT row_count来限定UPDATE的范围。LIMIT子句是一个与行匹配的限定。只要发现可以满足WHERE子句的row_count行,则该语句中止,不论这些行是否被改变。

    如果一个UPDATE语句包括一个ORDER BY子句,则按照由子句指定的顺序更新行。

    您也可以执行包括多个表的UPDATE操作。table_references子句列出了在联合中包含的表。以下是一个例子:

    SQL

    >

    UPDATE items,month

    SET

    items.price

    =

    month

    .price

    WHERE

    items.id

    =

    month

    .id;

    以上的例子显示出了使用逗号操作符的内部联合,但是multiple-table UPDATE语句可以使用在SELECT语句中允许的任何类型的联合,比如LEFT JOIN。

    注释:您不能把ORDER BY或LIMIT与multiple-table UPDATE同时使用。

    在一个被更改的multiple-table UPDATE中,有些列被引用。您只需要这些列的MySQL UPDATE权限。有些列被读取了,但是没被修改。您只需要这些列的SELECT权限。

    如果您使用的multiple-table

    UPDATE语句中包含带有外键限制的InnoDB表,则MySQL优化符处理表的顺序可能与上下层级关系的顺序不同。在此情况下,语句无效并被

    回滚。同时,更新一个单一表,并且依靠ON UPDATE功能。该功能由InnoDB提供,用于对其它表进行相应的修改。

    目前,您不能在一个子查询中更新一个表,同时从同一个表中选择。

    原文链接:http://database.51cto.com/art/201005/201953.htm

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2013-01-06 18:48

    浏览 1366

    分类:数据库

    评论

    展开全文
  • MySQL UPDATE语句介绍

    千次阅读 2021-01-18 22:58:58
    UPDATE语句修改表中的现有数据。UPDATE可以修改单行或多行的一或多个列中的数据。UPDATE语句的基本语法:UPDATE [LOW_PRIORITY] [IGNORE] table_nameSETcolumn_name1 = expr1,column_name2 = expr2,...[WHERE...

    UPDATE语句修改表中的现有数据。UPDATE可以修改单行或多行的一或多个列中的数据。

    UPDATE语句的基本语法:

    UPDATE [LOW_PRIORITY] [IGNORE] table_name

    SET

    column_name1 = expr1,

    column_name2 = expr2,

    ...

    [WHERE

    condition];

    使用以下语法:首先,在UPDATE关键字之后指定要更新数据的表的名称。

    其次,在SET子句中指定要更新的列和新值。要更新多列中的值,请使用逗号分隔的

    第三,使用WHERE 子句中的条件指定要更新的条件。该WHERE子句是可选的。如果省略它,该UPDATE语句将更新表中的所有行。

    WHERE子句非常重要,有时,可能只想更新一行;但是,可能会忘记该WHERE子句并意外地更新了表的所有行。

    MySQL在UPDATE语句中支持两个修饰符(可选)。该LOW_PRIORITY修正指示UPDATE延迟更新,直到没有连接从表中读取数据的语句。在LOW_PRIORITY对生效的存储引擎是使用表级锁只有如MyISAM,MERGE和MEMORY。

    该IGNORE修改使UPDATE语句继续更新,即使发生错误的行。导致错误(例如重复键冲突)的行不会更新。

    1)使用MySQL UPDATE修改单列值

    使用示例数据库:be9f73492bf44b570fd2356f8dcc2d35.png

    展开全文
  • 首先,单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 …] [WHERE where_definition] [ORDER BY …] [LIMIT row_count] 其次,多表的UPDATE语句:   UPDATE ...
  • MySql update语句用法

    万次阅读 2022-04-01 09:51:57
    MySql update语句用法

    用法

    • 你可以同时更新一个或多个字段。
    • 你可以在 WHERE 子句中指定任何条件。
    • 你可以在一个单独表中同时更新数据。
    student
    idnameage
    115
    216
    318
    414
    517
    619

    1、将name='赵'的学生的age都改为18

    UPDATE student SET 
    age=18
    WHERE name='赵'

    2、将name='赵'或age=16的学生的age都改为18

    UPDATE student SET 
    age=18
    WHERE name='赵' or age=16

     

    3、将name='赵'或age=16的学生的age都改为18,name都改为'李'

    UPDATE student SET 
    age=18,name='李'
    WHERE name='赵' or age=16

     

     

     4、将name='李' 的age增加1

    UPDATE student SET 
    age=age+1
    WHERE name='李'

    展开全文
  • 本节主要内容:mysql update语句的用法首先,以单表的UPDATE语句,学习下MySQL update 语句用法。一,单表的MySQL UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ......
  • mysql update语句锁行还是锁表?

    千次阅读 2022-05-25 15:01:12
    mysql update语句锁行还是锁表?
  • mysql update语句 in执行效率优化

    千次阅读 2021-07-15 17:39:38
    1、常用的mysql执行更新操作语句如下: UPDATE table1 set num = num + 1 where id in (SELECT id FROM table2 WHERE date>'2017-05-09) in条件的更新效率可优化使用join语法; 2、join预发更新操作 UPDATE ...
  • 设为“置顶或星标”,第一时间送达干货起因最近好几次有开发同学在钉钉上问我,比如下图:问题归纳起来就是:在MySQL里面update一条记录,语法都正确的,但记录并没有被更新…结论小结:在一条UPDATE语句中,如果要...
  • Mysql update语句赋值嵌套select

    千次阅读 2021-01-19 00:22:18
    MySQL课程练习中题目遇到Mysql update语句赋值嵌套select语句如下:update tc_sc set score=(select avg(tc_sc.score) from tc_sc,tb_teacher,tb_course where tc_sc.cid=tb_course.cid and tb_course.tid=tb_...
  •   新手最常见的写法是,先通过select语句查询记录是否存在,存在则使用update语句更新,不存在则使用insert语句插入。 但是这样做明显不够优雅,存在几个问题: •为了执行一次更新操作,却在程序中使用了两次sql...
  • 单表的MySQL UPDATE语句:  UPDATE [LOW_PRIORITY] [IGNORE] tbl_name  SET col_name1=expr1 [, col_name2=expr2 ...]  [WHERE where_definition]  [ORDER BY ...]  [LIMIT row_count]  多表的UPDATE语句...
  • mysql update语句的执行过程详解

    千次阅读 2021-07-01 20:59:47
    本文详细介绍了,mysqlupdate语句的执行过程,系统全面的学习下update更新语句的执行过程,有需要的朋友可以参考下 以前有过一篇关于MySQL查询语句的执行过程,这里总结一下update语句的执行过程。由于update涉及...
  • MySQL update语句使用连表(join)

    千次阅读 2021-09-03 09:55:25
    UPDATE store_out_odd AS a JOIN doc_store_position AS b ON a.`position` = b.`code` AND a.`store_id` = b.`store_id` SET a.`position` = b.id WHERE a.storage_id IS NULL; 案例2: UPDATE store_storage...
  • 今天在更新一条记录时,突然发现自己竟然连update时嵌套使用select都不会用。摸索着写了一条,还报错了。类似如下CREATE TABLE t3( num1 SMALLINT, num2 SMALLINT );INSERT INTO t3 VALUES(20,10),(30,40); num1 ...
  • mysql update 语句 子查询(带条件)

    千次阅读 2022-01-13 17:25:58
    mysl update
  • mysql update语句与limit的结合使用

    万次阅读 2017-11-08 13:38:07
    有时候有需要批量更新数据表中从多少行到多少行的某个字段的值mysqlupdate语句只支持更新前多少行,不支持从某行到另一行,比如 UPDATE tb_name SET column_name='test' ORDER BY id ASC LIMIT 30; 更新前30行的...
  • 前方危险:MySQL UPDATE 语句的非标准实现

    万次阅读 多人点赞 2020-11-27 17:35:59
    本文介绍了 MySQL 数据库中 UPDATE 语句和 SQL 标准(以及其他数据库)实现上的一个差异。对于 MySQL 而言,如果 UPDATE 语句在表达式中使用了前面被更新的字段,将会使用该字段被更新后的值而不是原来的值。
  • set autocommit = 0; //1是自动提交 update innodb_lock set b = '1234' where a &gt; 1 and a &lt; 6; //这里写update更新语句 commit; //或者rollback;
  • mysql update语句添加表关联查询

    千次阅读 2021-01-18 20:12:51
    UPDATE tab_game_version as a INNER JOIN tab_game_version as b ON a.id=b.idSET a.advert_data=0 where a.advert_data is NULLUPDATE table1 AS a LEFT JOIN (SELECT CONCAT(p.f_area_name,s.f_area_name,t.f_ar....
  • 若错误把SET字段时的逗号','写为"AND",则会导致更新的值不符合预期 因为原值是DepartmentId=1,想要更新的值为DepartmentId=2 ...正常情况UPDATE的SET更新多字段值时,应该用逗号','进行参数连接. ...
  • 使用update语句可以批量修改替换某个字段的数据,可以使用replace进行替换所需的数据值 REPLACE(字段,“替换前字段的值”,“替换后字段的值”) 方法如下: updatesfk_postmeta SET meta_value = REPLACE( meta_...
  • mysqlupdate语句的返回值

    千次阅读 2022-04-15 11:31:53
    mybatis中执行,update函数,那么这个函数的返回值是matched(匹配的)行数还是changed(受影响的)行数呢? 默认情况下是matched记录数,并不是changed记录数 如何让其返回值为受影响(changed)的记录数呢? 只需...
  • mysql中的update语句怎么使用

    千次阅读 2021-01-19 09:26:43
    mysql中的update语句的用法:【UPDATE table_name SET field1=new-value1 [WHERE Clause]】。update语句用来修改或更新mysql中的数据。update语法Single-table语法:UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 381,915
精华内容 152,766
关键字:

mysqlupdate语句

mysql 订阅