最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡單實(shí)例

 更新時間:2016年10月21日 10:26:50   投稿:lqh  
這篇文章主要介紹了mysql 實(shí)現(xiàn)互換表中兩列數(shù)據(jù)方法簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下

由于最近項(xiàng)目,有這樣一個需求,是把數(shù)據(jù)庫中的兩列數(shù)據(jù)互換,經(jīng)過好久才搞定,這里寫個簡單實(shí)例,做過記錄。

1.創(chuàng)建表及記錄用于測試

CREATE TABLE `product` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '產(chǎn)品id',
 `name` varchar(50) NOT NULL COMMENT '產(chǎn)品名稱',
 `original_price` decimal(5,2) unsigned NOT NULL COMMENT '原價',
 `price` decimal(5,2) unsigned NOT NULL COMMENT '現(xiàn)價',
 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, '甜點(diǎn)', '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 | 甜點(diǎn)  |     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的值

新手可能會使用以下方法進(jìn)行互換

update product set original_price=price,price=original_price;

但這樣執(zhí)行的結(jié)果只會使original_price與price的值都是price的值,因?yàn)閡pdate有順序的,

先執(zhí)行original_price=price , original_price的值已經(jīng)更新為price,

然后執(zhí)行price=original_price,這里相當(dāng)于沒有更新。

執(zhí)行結(jié)果:

mysql> select * from product;
+----+--------+----------------+--------+
| id | name  | original_price | price |
+----+--------+----------------+--------+
| 1 | 雪糕  |      5.00 |  3.50 |
| 2 | 鮮花  |     18.00 | 15.00 |
| 3 | 甜點(diǎn)  |     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 | 甜點(diǎn)  |     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;

執(zhí)行結(jié)果:

mysql> select * from product;
+----+--------+----------------+--------+
| id | name   | original_price | price  |
+----+--------+----------------+--------+
|  1 | 雪糕   |           5.00 |   3.50 |
|  2 | 鮮花   |          18.00 |  15.00 |
|  3 | 甜點(diǎn)   |          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 | 甜點(diǎn)   |          12.50 |  25.00 |
|  4 | 玩具   |          45.00 |  55.00 |
|  5 | 錢包   |         195.00 | 285.00 |
+----+--------+----------------+--------+
5 rows in set (0.00 sec)

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 一文詳解MySQL中數(shù)據(jù)表的外連接

    一文詳解MySQL中數(shù)據(jù)表的外連接

    因?yàn)?nbsp;MySQL 是關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)是拆分重組在多個數(shù)據(jù)表里面的。所以我們勢必要從多個數(shù)據(jù)表中提取數(shù)據(jù),通過 SQL 語句的內(nèi)連接與外連接就能夠?qū)崿F(xiàn)多表查詢了,本文就來講講MySQL的外連接
    2022-08-08
  • MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)步驟詳析

    MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)步驟詳析

    這篇文章主要給大家介紹了關(guān)于MySQL開啟配置binlog及通過binlog恢復(fù)數(shù)據(jù)的相關(guān)資料,binlog是MySQL最重要的日志,binlog是二進(jìn)制日志,它記錄了所有的DDL和DML語句,除了查詢語句select、show等,需要的朋友可以參考下
    2024-06-06
  • 關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別

    關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別

    這篇文章主要介紹了關(guān)于com.mysql.jdbc.Driver與com.mysql.cj.jdbc.Driver的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL中count(*)、count(1)和count(col)的區(qū)別匯總

    MySQL中count(*)、count(1)和count(col)的區(qū)別匯總

    count()函數(shù)是用來統(tǒng)計(jì)表中記錄的一個函數(shù),返回匹配條件的行數(shù),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL中count(*)、count(1)和count(col)的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2018-03-03
  • MySql8.023安裝過程圖文詳解(首次安裝)

    MySql8.023安裝過程圖文詳解(首次安裝)

    這篇文章主要介紹了MySql8.023安裝過程(首次安裝),本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • MySQL 語句注釋方式簡介

    MySQL 語句注釋方式簡介

    這篇文章主要介紹了MySQL 語句注釋方式簡介,方法非常簡單,需要的朋友可以了解下。
    2017-10-10
  • MySQL select、insert、update批量操作語句代碼實(shí)例

    MySQL select、insert、update批量操作語句代碼實(shí)例

    這篇文章主要介紹了MySQL select、insert、update批量操作語句代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 簡單介紹MySQL中GROUP BY子句的使用

    簡單介紹MySQL中GROUP BY子句的使用

    這篇文章主要介紹了簡單介紹MySQL中GROUP BY子句的使用,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • MySQL查詢樹形結(jié)構(gòu)數(shù)據(jù)的兩種方法

    MySQL查詢樹形結(jié)構(gòu)數(shù)據(jù)的兩種方法

    本文主要介紹了MySQL查詢樹形結(jié)構(gòu)數(shù)據(jù)的兩種方法,可以使用遞歸查詢或者閉包表來實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • MySQL INT類型全解析

    MySQL INT類型全解析

    這篇文章主要介紹了MySQL INT類型的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08

最新評論

通道| 南部县| 利辛县| 西贡区| 玉环县| 泰和县| 岫岩| 民勤县| 朔州市| 高州市| 乌鲁木齐县| 繁昌县| 临潭县| 濉溪县| 汝阳县| 临高县| 甘孜县| 谢通门县| 西乌| 二连浩特市| 南溪县| 城口县| 宜宾市| 揭西县| 徐闻县| 盐城市| 绥滨县| 高雄市| 卓尼县| 建始县| 建阳市| 孟津县| 黑山县| 绥阳县| 靖西县| 武川县| 海口市| 镶黄旗| 安塞县| 汾阳市| 高安市|