mysql if case条件更新】的更多相关文章

在mysql中,如果你要根据某个字段的值不一样,来更新另一个字段的值,可以用如下sql语句: 如果仅仅是两个分支,if语句就可以了 update tm set page_name=if(q_aswer='A','this is AnswerA',page_name) 如果是多个分支,使用case: update tm set page_name=CASE q_aswer WHEN 'A' THEN 'aaa' when 'B' then 'bbb'  when 'C' then 'ccc' el…
UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END WHERE id IN (1,2,3); 这句sql的意思是,更新display_order 字段,如果id=1 则display_order 的值为3,如果id=2 则 display_order 的值为4,如果id=3 则 display_order 的值为5. 即是将条件语句写在了一起. 这里的where部分…
执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式即可: 恢复安全模式:SET SQL_SAFE_UPDATES = 1;…
有两张表bas_student.bas_householder, 去除学生表中与家长表重复的手机号 UPDATE bas_student a,bas_householder b SET a.mobile=NULL WHERE a.mobile=b.HouseHolderMobile AND LENGTH(a.Mobile)=11;…
Mysql中的条件语句在我们对数据进行转换的时候比较有用,这样就不需要创建中转表. IF 函数 IF(expr1,expr2,expr3) 如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3.IF() 的返回值为数字值或字符串值. select *,if(sva=1,"男","女") as ssva from taname where sv…
mysql语句:批量更新多条记录的不同值 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 帮助 1 UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 帮助 1 UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注…
MySQL存储过程  CASE语句 除了IF语句,MySQL提供了一个替代的条件语句CASE. MySQL CASE语句使代码更加可读和高效. CASE语句有两种形式:简单的搜索CASE语句. 简单CASE语句 我们来看一下简单CASE语句的语法: CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands END CASE; 您可…
一.case条件语句 1.语法 case "变量" in 值 1) 指令 1... ;; 值 2) 指令 2... ;; *) 指令 3... esac case条件语句的执行流程逻辑图 2.实践 (1)根据用户输入判断输入的是哪个数字 [root@codis-178 ~]# cat 9_1.sh #!/bin/bash read -p "Please input a number:" ans case "$ans" in 1) echo &qu…
MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文档中的说明如下: 用法一: CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list]END CASE用法二: CASE WHE…
#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读 #case条件语句的语法格式 case "变量" in 值1) 指令1... ;; 值2) 指令2... ;; *) 指令3... esac #说明:当变量的值等于1时,那么就会相应的执行指令1的相关命令输出,值等于2时就执行指令2的命令,以此类推,如果都不符合的话…
背景 ElasticSearch 的使用度越来越普及了,很多公司都在使用.有做日志搜索的,有做商品搜索的,有做订单搜索的. 大部分使用场景都是通过程序定期去导入数据到 ElasticSearch 中,或者通过 CDC 的方式来构建索引.在这种场景下,更新数据都是单条更新,比如 ID=1 的数据发生了修改操作,那么就会把 ElasticSearch 中 ID=1 的这条数据更新下. 但有些场景下需要根据条件同时更新多条数据,就像 Mysql 中我们使用 Update Table Set Name=…
MySQL · 性能优化 · 条件下推到物化表 http://mysql.taobao.org/monthly/2016/07/08/ 背景 MySQL引入了Materialization(物化)这一关键特性用于子查询(比如在IN/NOT IN子查询以及 FROM 子查询)优化.具体实现方式是:在SQL执行过程中,第一次需要子查询结果时执行子查询并将子查询的结果保存为临时表 ,后续对子查询结果集的访问将直接通过临时表获得.与此同时,优化器还具有延迟物化子查询的能力,先通过其它条件判断子查询是否真…
语法说明: 方式一: CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END  方式二: CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 使用演示样例: mysql> select id,name, (gender) as '性…
关于Switch case条件语句的另类用法       今天在拜读一位前辈的程序时,遇到了这样一段程序: /***************************/ switch(operation) { case Dir_CCW_Cycle: // 语句1 case Dir_CW_Cycle: { Dir = (operation == Dir_CW_Cycle)?Dir_CW_Cycle:Dir_CW_Cycle; //语句2 break; } default: break; } /***…
JavaScript case 条件语句 示例 switch(name){ case '1': age = 123; break; case '2' age = 456; break; default : age = 789; }…
根据多个条件更新数据 UPDATE sphwph SET BKXSHL=t2.BKXSHL FROM sphwph t1,sphwph_170420 t2 --(SELECT a.* FROM dbo.sphwph a JOIN spkfk b --ON a.spid = b.spid WHERE a.shl <b.jlgg AND a.shl<>0 AND a.hw='HWI00000001' --AND a.spid IN( --SELECT DISTINCT spid FROM d…
目录: <MySQL中的两种临时表> <MySQL 多表关联更新及删除> <mysql查询优化之三:查询优化器提示(hint)> 一.      多表关联更新 问题描述:现有tdb_goods表(含有具体信息)和tdb_goods_cates表(没有具体信息),需要查询tdb_goods表的所有记录,并且按"类别"分组,且将分组结果写入到tdb_goods_cates数据表.然后通过tdb_goods_cates数据表来更新tdb_goods表 ² …
Solution 1:  修改1列(navicate可行) update student s, city c set s.city_name = c.name where s.city_code = c.code; Solution 2:  修改多个列 update  a,  b set a.title=b.title, a.name=b.name where a.id=b.id Solution 3: 采用子查询(navicate不可行) update student s set city_n…
RELAY LOG相关参数 设置如何保存从节点接收到的主库BINLOG sync_relay_log : 设置如何同步中继日志到中继日志文件. 当sync_relay_log = 0时,则MySQL服务不会对中继日志文件进行同步操作,依赖于操作系统来定期进行同步. 当sync_relay_log = N(N>0),则每N个sync_relay_log事件后对中继日志文件执行一次同步(调用fdatasync()). 设置如何保存从节点接收主库BINLOG的进度信息 master_info_repo…
目录 1.case条件语句介绍 2.case语句需要注意的内容 3.练习 示例1 示例2 1.case条件语句介绍 case语句和if-elif-else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系. case语句语法如下: case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; -省略其他分支- *) 如果…
主要知识点为case函数,if函数,ifnull函数,elt函数几部分,主要用于mysql语句中的逻辑判断 待操作的表如下: p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-common-ligatures } +----+-----------+-----+-------+--------+ | id | name      | sex | le…
#类型 0:默认 1:黑(0302) 2:白(0110) SELECT * FROM t_power_plat WHERE plat_type=1; UPDATE t_power_plat SET plat_type = ( CASE WHEN plat_type=1 THEN 0302 WHEN plat_type=2 THEN 0110 ELSE NULL END );…
先建一张S01人口统计信息表: drop table if exists S01人口统计信息; /*==============================================================*/ /* Table: S01人口统计信息 */ /*==============================================================*/ create table S01人口统计信息 ( 行政区域ID varchar(100)…
mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 1 UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 1 UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 ‘other_values’ 是一个逗号(,)分隔…
常用场景 sql_mode问题:http://blog.csdn.net/ccccalculator/article/details/70432123 连续日期补全/数据补零操作 在不使用存储过程和函数来建表或单独建表的情况下用union匹配查询出数据 eg:查询当前日期前七天的记录,如果当中有不存在数据的时间则补0 SELECT count(*) count, DATE_FORMAT(CREATE_TIME,'%Y-%m-%d') date FROM t_hip_user WHERE DATE…
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 ‘other_values' 是一个逗号(,)分…
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 ‘other_values' 是一个逗号(,)分…
mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values'); 这里注意 ‘other_values' 是一个逗号(,)分隔的字符串…
第一个需求是根据A字段进行排序,排序结果更新到B字段 简单搜索之后,很快得到答案 http://dev.mysql.com/doc/refman/5.7/en/update.html ; ) ORDER BY b ASC 第二个需求是根据A字段分组,对B字段排序,排序结果更新到C字段 ;; UPDATE tableName SET C = ( SELECT CASE WHEN @A = A ELSE ( AND @A := A) END ) ORDER BY A,B 结果是正确了,但是不太明白为…