mysqlupdate怎么设置(MySQL update 语句的正确用法)
mysqlupdate怎么设置
MySQL update 语句的正确用法以下的文章主要介绍的是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 ageage=age+1;
MySQL UPDATE赋值被从左到右评估。例如,以下语句对年龄列加倍,然后再进行增加:
- MySQL> UPDATE persondata SET ageage=age*2, ageage=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提供,用于对其它表进行相应的修改。
目前,您不能在一个子查询中更新一个表,同时从同一个表中选择。
- mysql binlog日志位置(开启MySQL的binlog日志的方法步骤)
- mysql索引分几种(MySQL 覆盖索引的优点)
- centos7.5安装mysql教程(CentOS8下MySQL 8.0安装部署的方法)
- oraclemysql知识点(详解Mysql和Oracle之间的误区)
- mysql定时任务
- mysql mvcc 底层原理(浅析MySQL - MVCC)
- mysql8.0.23.0官方安装手册(MySQL8.0.23安装超详细教程)
- 配置mysql可以远程登录(开启MySQL远程连接的方法)
- mysql用户登录命令(mysql的登陆和退出命令格式)
- mysql索引建立及应用(MYSQL创建索引,这些知识应该了解)
- MySQL定时任务(EVENT事件)如何配置详解(MySQL定时任务EVENT事件如何配置详解)
- mysql中delete聚合函数查询值(MySQL 分组查询和聚合函数)
- mysql读写分离同步策略(Mysql主从复制与读写分离图文详解)
- 如何安装phpmysql环境(phpnow重新安装mysql数据库的方法)
- python在mysql创建数据库(python3对接mysql数据库实例详解)
- centos安装mysql8.0教程(Centos7 安装 Mysql8教程)
- 雄藩崛起 奇兵队与幕末长州藩军事改革(雄藩崛起奇兵队与幕末长州藩军事改革)
- 九月初,爱如蜜糖,甜到心扉,迷恋彼此,一日不见兮,思之若狂(九月初爱如蜜糖)
- ()
- 对你思念入骨的女人,跟你见面时会有这几种表现,藏都藏不住(对你思念入骨的女人)
- 纳兰性德绝美作,一场重逢,成就最后一首称得上惊艳的《如梦令》(纳兰性德绝美作)
- 如何快速赚钱(如何快速赚钱方法真实有效)
热门推荐
- react路由组件怎么用(无废话快速上手React路由开发)
- python定时任务脚本(对Python定时任务的启动和停止方法详解)
- python 操作html(Python HTML解析模块HTMLParser用法分析爬虫工具)
- javascript基本类型是哪些(详解javascript中的Strict模式)
- MVC过滤器的用法
- 合理设置服务mysql最大连接数(MySQL正确修改最大连接数的3种方案)
- sqlserver带参数的存储过程(SQL Server 日期和时间的内部存储过程)
- django admin 开发实例(Django给admin添加Action的步骤详解)
- dedecms5.7后台内链如何制作(DEDECMS教程之loop循环标签的使用详解)
- python 模块详解(举例讲解Python常用模块)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9