广告
返回顶部
首页 > 资讯 > 数据库 >mysql互换表中两列数据方法
  • 153
分享到

mysql互换表中两列数据方法

mysql互换表中两列数据方法 2017-07-29 17:07:54 153人浏览 绘本
摘要

1.创建表及记录用于测试 CREATE TABLE product ( id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT "产品id", name varchar(

mysql互换表中两列数据方法

1.创建表及记录用于测试

CREATE TABLE product (
id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT "产品id",
name varchar(50) NOT NULL COMMENT "产品名称",
original_price decimal(5,2) unsigned NOT NULL COMMENT "原价",
price decimal(5,2) unsigned NOT NULL COMMENT "现价",
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO product (id, name, original_price, price) VALUES
(NULL, "雪糕", "5", "3.5"),
(NULL, "鲜花", "18", "15"),
(NULL, "甜点", "25", "12.5"),
(NULL, "玩具", "55", "45"),
(NULL, "钱包", "285", "195");

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           5.00 |   3.50 |
|  2 | 鲜花   |          18.00 |  15.00 |
|  3 | 甜点   |          25.00 |  12.50 |
|  4 | 玩具   |          55.00 |  45.00 |
|  5 | 钱包   |         285.00 | 195.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)

2.互换original_price与price的值

新手可能会使用以下方法进行互换

update product set original_price=price,price=original_price;

但这样执行的结果只会使original_price与price的值都是price的值,因为update有顺序的,
先执行original_price=price , original_price的值已经更新为price,
然后执行price=original_price,这里相当于没有更新。

执行结果

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           5.00 |   3.50 |
|  2 | 鲜花   |          18.00 |  15.00 |
|  3 | 甜点   |          25.00 |  12.50 |
|  4 | 玩具   |          55.00 |  45.00 |
|  5 | 钱包   |         285.00 | 195.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)

mysql> update product set original_price=price,price=original_price;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           3.50 |   3.50 |
|  2 | 鲜花   |          15.00 |  15.00 |
|  3 | 甜点   |          12.50 |  12.50 |
|  4 | 玩具   |          45.00 |  45.00 |
|  5 | 钱包   |         195.00 | 195.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)

正确的互换方法如下:

update product as a, product as b set a.original_price=b.price, a.price=b.original_price where a.id=b.id;

执行结果:

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           5.00 |   3.50 |
|  2 | 鲜花   |          18.00 |  15.00 |
|  3 | 甜点   |          25.00 |  12.50 |
|  4 | 玩具   |          55.00 |  45.00 |
|  5 | 钱包   |         285.00 | 195.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)

mysql> update product as a, product as b set a.original_price=b.price, a.price=b.original_price where a.id=b.id;
Query OK, 5 rows affected (0.01 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           3.50 |   5.00 |
|  2 | 鲜花   |          15.00 |  18.00 |
|  3 | 甜点   |          12.50 |  25.00 |
|  4 | 玩具   |          45.00 |  55.00 |
|  5 | 钱包   |         195.00 | 285.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)
您可能感兴趣的文档:

--结束END--

本文标题: mysql互换表中两列数据方法

本文链接: https://www.lsjlt.com/news/3956.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql互换表中两列数据方法
    1.创建表及记录用于测试 CREATE TABLE product ( id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT "产品id", name varchar(...
    99+
    2017-07-29
    mysql互换表中两列数据方法
  • mysql怎么互换表中两列数据
    这篇文章主要介绍“mysql怎么互换表中两列数据”,在日常操作中,相信很多人在mysql怎么互换表中两列数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么互换表...
    99+
    2022-10-18
  • mongodb两列互换的方法是什么
    在 MongoDB 中,可以使用以下方法来实现两列互换:1. 使用 `$project` 和 `$addFields` 运算符来创建...
    99+
    2023-08-23
    mongodb
  • 有哪些实现两个数互换的方法
    本篇内容主要讲解“有哪些实现两个数互换的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些实现两个数互换的方法”吧!基本数据类型借助第三个变量packag...
    99+
    2022-10-19
  • python中合并两个列表的方法
    这篇文章主要介绍了python中合并两个列表的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python合并两个列表的方法:1、分别从两个列表中取出所有的元素,再放入新列...
    99+
    2023-06-14
  • mysql中的行列转换方法
    这篇文章主要介绍“mysql中的行列转换方法”,在日常操作中,相信很多人在mysql中的行列转换方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql中的行列转换方法”...
    99+
    2022-10-18
  • Python中两个列表数字“相加”的4种方法
    最近我在用Python处理数据时,需要将列表数据相加实现“累积”效果的。需要注意,我这里所说的列表相加,并非是下面这种“列表元素相加”的情况。 list_1 = [1, 2, 3]list_2 = [4, 5, 6]print(list_1...
    99+
    2023-08-31
    python numpy 开发语言
  • Python字符串、元组、列表、字典互相转换的方法
    废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅。 #-*-coding:utf-8-*- #1、字典 dict = {'name': 'Zara', 'age': 7, 'class'...
    99+
    2022-06-04
    字符串 字典 方法
  • Mysql中复制数据库的两种方法
    方法一:使用mysqldump 创建新的数据库 create database new_db 同一个mysql服务器复制数据库方法 mysqldump old_db -u 账户 -p密码 | mys...
    99+
    2023-09-24
    数据库 mysql database
  • java二维数组行列互换的方法是什么
    要交换二维数组的行和列,可以通过创建一个新的二维数组来实现。可以按照以下步骤进行操作:1. 获取原始二维数组的行数和列数。2. 创建...
    99+
    2023-09-08
    java
  • MySQL 两种恢复数据的方法
    一 前言 前一段时间接二连三的出现开发人员在测试环境和生产误操作导致数据库误删除/更新,对DBA而言,回滚数据着实是一件头疼的事情,凡涉及到恢复线上数据必然对应用带来一定的影响。大多数情况是开发误操作delet...
    99+
    2022-05-29
    MySQL 恢复数据 MySQL 回滚数据
  • Python实现列表转换成字典数据结构的方法
    本文实例讲述了Python实现列表转换成字典数据结构的方法。分享给大家供大家参考,具体如下: ''' [ {'symbol': 101, 'sort': 1, 'name': 'aaaa'}, ...
    99+
    2022-06-04
    数据结构 转换成 字典
  • python中将列表数据清空的方法
    这篇文章主要为大家展示了python中将列表数据清空的方法,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“python中将列表数据清空的方法”这篇文章吧。python可以做什么Python是一种编程...
    99+
    2023-06-06
  • mysql给表中添加列的方法
    小编给大家分享一下mysql给表中添加列的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql给表中添加列的方法:1、使用“ALTER TABLE 表名 ADD 新字段名 数据类型 [...
    99+
    2022-10-18
  • mysql中同时查询两个数据库中数据的方法
    这篇文章给大家分享的是有关mysql中同时查询两个数据库中数据的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql中同时查询两个数据库中数据的方法:首先打开编辑器sub...
    99+
    2022-10-18
  • SQL中怎么实现根据两列信息整合两张表数据
    本篇内容介绍了“SQL中怎么实现根据两列信息整合两张表数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!两...
    99+
    2022-10-18
  • mysql转换null数据的方法
    小编给大家分享一下mysql转换null数据的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql转换null数据的方法...
    99+
    2022-10-18
  • mysql删除表中数据的方法
    这期内容当中小编将会给大家带来有关mysql删除表中数据的方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。语句为“DELETE FROM 表名称 WHER...
    99+
    2022-10-18
  • MySQL表中添加数据的方法
    1、在t_student数据库表中插入数据 注意:插入的数据必须和数据表字段一一对应 insert into t_student values (1,'张三','男',18,'2022-5-8','软件1班','123@...
    99+
    2022-11-19
    mysql添加数据 mysql表中添加数据
  • mysql中合并两张表的简单方法
    本文主要给大家简单讲讲mysql中合并两张表的简单方法,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql中合并两张表的简单方法这篇文章可以给大家带来一...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作