测试表:

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`order`varchar(255)DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

插入测试数据:

INSERT INTO `bbkb_busticket`.`test` (`id`, `name`, `order`) VALUES ('', '张三', '');
INSERT INTO `bbkb_busticket`.`test` (`id`, `name`, `order`) VALUES ('', '李四', '');
INSERT INTO `bbkb_busticket`.`test` (`id`, `name`, `order`) VALUES ('', '王八蛋', '');

交换两行中某个字段的值:(将ID=1、2的两个order替换下)

UPDATE test t1
JOIN test t2
ON (t1.id =2 AND t2.id = 1)
SET t1.`order` = t2.`order`,t2.`order`=t1.`order`;

交换两列中某两列的值:(将ID=1的name 和 order 交换一下)

UPDATE test t1,test t2 SET t1.`name` = t2.`order`,t1.`order` = t2.`name` WHERE t1.id = t2.id

MYSQL,分别用一条语句交换两列的值与两行的值的更多相关文章

  1. 用一条UPDATE语句交换两列的值

    在SQL UPDATE语句中,"="右侧的值在整个UPDATE语句中都是一致的,所有更新同时发生!因此以下语句将在没有临时变量的情况下交换两列的值: UPDATE table SE ...

  2. MySQL 如何利用一条语句实现类似于if-else条件语句的判断

    一. 编写一条update语句实现商品涨价,具体规则如下 1.99元以内,提价20% 2.100-999元之间,提价10% 3.1000-1999之间,提价5% 4.其他提价2% update goo ...

  3. SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) 一条语句实现两表同步(添加、删除、修改)

    MERGE 目标表 USING 源表 ON 匹配条件 WHEN MATCHED THEN 语句 WHEN NOT MATCHED THEN 语句; http://www.chinaz.com/prog ...

  4. MYSQL交换两列数据实例

    UPDATE cf_2015_company a, cf_2015_company bSET a.cname = b.linkman, a.linkman = b.cnameWHERE a.id = ...

  5. 【mysql数据库】一条语句添加多条数据

    insert into persons (id_p, lastname , firstName, city ) values (200,'haha' , 'deng' , 'shenzhen'), ( ...

  6. Mysql入门的10条语句

    1.查看当前服务器下面,有那些库(database)? 答: show databases; 2.如何创建一个数据库? 答 : create database 最后面在写数据库名:分号结束 3.选择数 ...

  7. UPDATE从左向右,变量优先,逐行更新.顺序执行的,可以交换两列之间的值

    CREATE TABLE tab_update (id TINYINT,n1 NVARCHAR(30),v1 NVARCHAR(30),s1 NVARCHAR(30)) INSERT INTO tab ...

  8. Python 为什么只需一条语句“a,b=b,a”,就能直接交换两个变量?

    从接触 Python 时起,我就觉得 Python 的元组解包(unpacking)挺有意思,非常简洁好用. 最显而易见的例子就是多重赋值,即在一条语句中同时给多个变量赋值: >>> ...

  9. mysql获取所有分类的前n条记录的两种方法浅析

      项目中有个需求是获取出展会分类下的前n条展商. 刚开始的思路是用group by 获取出展会的分类,后面再根据分类获取该分类下的n个展商,但也需要第一次获取出展会的时候也获取所有的每个展会分类下的 ...

随机推荐

  1. js变量的作用域与函数作用域

    引自 1. 变量的作用域(var与let的区别) 在函数之外声明的变量,叫做全局变量,因为它可被当前文档中的任何其他代码所访问.在函数内部声明的变量,叫做局部变量,因为它只能在当前函数的内部访问. E ...

  2. vue项目--vuex状态管理器

    本文取之官网和其他文章结合自己的理解用简单化的语言表达.用于自己的笔记记录,也希望能帮到其他小伙伴理解,学习更多的前端知识. Vuex 是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态 ...

  3. Spring Boot自动配置总结

    Spring Boot项目启动的时候加载主配置类,并开启了自动配置功能.(Spring Boot的自动配置功能是Spring Boot的一大重要且突出的特性) 那么我们需要了解下它: 如何加载主配置类 ...

  4. Linux操作系统笔记

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> //linux下面的头文件 #include ...

  5. java面试题全集(中)

    这部分主要是与Java Web和Web Service相关的面试题. 96.阐述Servlet和CGI的区别? 答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行 ...

  6. 安装最新版本的kubernets(+安装插件dashboard)

    一.安装docker // 安装系统工具: sudo yum install -y yum-utils device-mapper-persistent-data lvm2 // 添加docker y ...

  7. vi/vim常用命令总结

    vim是vi的升级模式,完全兼容vi 解决vim打开中文乱码问题 编辑/etc/vim/vimrc配置文件,添加下面的内容: ''' set fileencodings=utf-8,ucs-bom,g ...

  8. [易学易懂系列|rustlang语言|零基础|快速入门|(4)|借用Borrowing]

    [易学易懂系列|rustlang语言|零基础|快速入门|(4)] Borrowing 继续讲讲另一个重要的概念:借用(borrowing), 什么是借用? 我们先来看前一文章([易学易懂系列|rust ...

  9. bio,nio,aio的区别 select,poll,epoll的区别

    先了解一些基本概念,什么是socket?什么是I/O操作 unix(like)世界里,一切皆文件,而文件是什么呢?文件就是一串二进制流而已,不管socket,还是FIFO.管道.终端,对我们来说,一切 ...

  10. requests 模块例题示范

    requests 模块 re模块和requests模块结合示范实例 .*? 不加圆括号表示在要匹配里面的内容不要: (.*?)表示在要匹配的两者之间的内容都要: import requests imp ...