国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

MySQL如何實現查詢數據并根據條件更新到另一張表?

數據庫 MySQL
作者個人研發的在高并發場景下,提供的簡單、穩定、可擴展的延遲消息隊列框架,具有精準的定時任務和延遲隊列處理功能。

[[352779]]

作者個人研發的在高并發場景下,提供的簡單、穩定、可擴展的延遲消息隊列框架,具有精準的定時任務和延遲隊列處理功能。自開源半年多以來,已成功為十幾家中小型企業提供了精準定時調度方案,經受住了生產環境的考驗。為使更多童鞋受益,現給出開源框架地址:https://github.com/sunshinelyz/mykit-delay

數據案例

原本的數據庫有3張表。

  • t_user :用戶表,存放用戶的基本信息。
  • t_role :角色表,存放角色信息。
  • t_role_user:存放角色與用戶的對應關系。

因為業務邏輯的改變,現在要把它們合并為一張表,把t_role中的角色信息插入到t_user中。

首先獲取到所有用戶對應的角色,以用戶ID分組,合并角色地到一行,以逗號分隔。

  1. SELECT t_user.id,GROUP_CONCAT(t_role.content) FROM t_user LEFT JOIN t_role_user on t_user.id = t_role_user.t_user_id LEFT JOIN t_role ON t_role_user.t_role_id = t_role.id GROUP BY t_user.id 

先把查到的數據存放到了一個新建的表mid里

  1. INSERT into mid (t_user_id,t_role_info) SELECT t_user.id,GROUP_CONCAT(t_role.info) FROM t_user LEFT JOIN t_role_user on t_user.id = t_role_user.t_user_id LEFT JOIN t_role ON t_role_user.t_role_id = t_role.id GROUP BY t_user.id 

然后將mid表的數據更新到t_user里,因為是更新,所以不能用insert into select from 語句了

  1. update t_user,mid set t_user.t_role_info = mid.t_role_info where t_user.id = mid.t_user_id 

成功將目的地以逗號分隔的字符串形式導入t_user表中

說一下用到的幾個方法,group_concat

group_concat( [DISTINCT] 要連接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符'] ),該函數能夠將相同的行組合起來

  1. select * from goods; 
  2. +------+------+ 
  3. | id| price| 
  4. +------+------+ 
  5. |1 | 10| 
  6. |1 | 20| 
  7. |1 | 20| 
  8. |2 | 20| 
  9. |3 | 200 | 
  10. |3 | 500 | 
  11. +------+------+ 
  12. rows in set (0.00 sec) 

以id分組,把price字段的值在同一行打印出來,逗號分隔(默認)

  1. select id, group_concat(price) from goods group by id; 
  2. +------+--------------------+ 
  3. | id| group_concat(price) | 
  4. +------+--------------------+ 
  5. |1 | 10,20,20| 
  6. |2 | 20 | 
  7. |3 | 200,500| 
  8. +------+--------------------+ 
  9. rows in set (0.00 sec) 

以id分組,把price字段去重打印在一行,逗號分隔

  1. select id,group_concat(distinct price) from goods group by id; 
  2. +------+-----------------------------+ 
  3. | id| group_concat(distinct price) | 
  4. +------+-----------------------------+ 
  5. |1 | 10,20| 
  6. |2 | 20 | 
  7. |3 | 200,500 | 
  8. +------+-----------------------------+ 
  9. rows in set (0.00 sec) 

以id分組,把price字段的值打印在一行,逗號分隔,按照price倒序排列

 

  1. select id,group_concat(price order by price descfrom goods group by id; 
  2. +------+---------------------------------------+ 
  3. | id| group_concat(price order by price desc) | 
  4. +------+---------------------------------------+ 
  5. |1 | 20,20,10 | 
  6. |2 | 20| 
  7. |3 | 500,200| 
  8. +------+---------------------------------------+ 
  9. rows in set (0.00 sec) 

insert into select from 將查詢到的記錄插入到某個表中

  1. INSERT INTO db1_name(field1,field2) SELECT field1,field2 FROM db2_name 

要求目標db2必須存在,下面測試一下,有兩個表,結構如下

  1. select * from insert_one; 
  2. +----+--------+-----+-----+ 
  3. | id | name  | age | sex | 
  4. +----+--------+-----+-----+ 
  5. | 1 | 冰河001 | 25 |   | 
  6. | 2 | 冰河002 | 26 |   | 
  7. | 3 | 冰河003 | 28 |   | 
  8. | 4 | 冰河004 | 30 |   | 
  9. +----+--------+-----+-----+ 
  10. rows in set 
  11.  
  12.   
  13. select * from insert_sex; 
  14. +----+-----+ 
  15. | id | sex | 
  16. +----+-----+ 
  17. | 1 | 1  | 
  18. | 2 | 2  | 
  19. | 3 | 1  | 
  20. | 4 | 2  | 
  21. +----+-----+ 
  22. rows in set 

從表2中查找性別數據,插入到表1中

  1. into insert_one(sex) select sex from insert_sex; 
  2. Query OK, 4 rows affected 
  3. select * from insert_one; 
  4. +----+--------+-----+-----+ 
  5. | id | name  | age | sex | 
  6. +----+--------+-----+-----+ 
  7. | 1 | 田小斯 | 25 |   | 
  8. | 2 | 劉大牛 | 26 |   | 
  9. | 3 | 鄭大錘 | 28 |   | 
  10. | 4 | 胡二狗 | 30 |   | 
  11. | 5 |    |   | 1  | 
  12. | 6 |    |   | 2  | 
  13. | 7 |    |   | 1  | 
  14. | 8 |    |   | 2  | 
  15. +----+--------+-----+-----+ 
  16. rows in set 

結果很尷尬,我是想要更新這張表的sex字段,而不是插入新的數據,那么這個命令只適用于要把數據導入空表中,所以在上面的實際需要中,我建立了新表mid,利用update來中轉并更新數據

  1. UPDATE tb1,tb2 SET tb1.address=tb2.address WHERE tb1.name=tb2.name 

根據條件匹配,把表1的數據替換為(更新為)表2的數據,表1和表2必須有關聯才可以

  1. update insert_one,insert_sex set insert_one.sex = insert_sex.sex where insert_one.id = insert_sex.id; 
  2. Query OK, 4 rows affected 
  3. select * from insert_one; 
  4. +----+--------+-----+-----+ 
  5. | id | name  | age | sex | 
  6. +----+--------+-----+-----+ 
  7. | 1 | 冰河001 | 25 | 1  | 
  8. | 2 | 冰河002 | 26 | 2  | 
  9. | 3 | 冰河003 | 28 | 1  | 
  10. | 4 | 冰河004 | 30 | 2  | 
  11. | 5 |    |   | 1  | 
  12. | 6 |    |   | 2  | 
  13. | 7 |    |   | 1  | 
  14. | 8 |    |   | 2  | 
  15. +----+--------+-----+-----+ 
  16. rows in set 

成功將數據更新到insert_one表的sex字段中。

本文轉載自微信公眾號「冰河技術」,可以通過以下二維碼關注。轉載本文請聯系冰河技術公眾號。

 

責任編輯:武曉燕 來源: 冰河技術
相關推薦

2022-11-17 12:09:51

2020-08-06 08:00:51

數據分頁優化

2021-02-02 21:50:31

MySQL 8.0ExcelMySQL 5.7

2010-11-23 13:51:55

MySQL數據表

2009-07-07 18:08:26

Oracle收購Ubu紅帽對抗微軟

2020-06-15 08:54:46

架構圖 EA業務建模

2011-07-28 17:02:59

MYSQL數據庫跨表更新數據并合

2009-08-25 14:18:13

C#如何連接數據庫

2019-09-11 10:12:12

華為

2021-02-07 09:01:10

Java并發編程

2011-07-29 14:39:11

CASE WHEN E

2017-07-06 12:01:52

MySQL數據安全

2013-12-16 10:59:52

WiFi上鎖WiFi被盜

2010-09-26 16:39:27

SQL子查詢

2021-09-29 11:30:01

大數據技術架構

2021-02-09 17:21:55

SQL數據庫存儲

2017-07-18 10:14:23

OracleMerge into教程

2021-06-03 10:01:28

JDBCStatement接口

2021-05-21 10:01:01

JDBCJavaStatement接口

2021-11-22 10:38:23

架構運維技術
點贊
收藏

51CTO技術棧公眾號

三上悠亚在线观看二区| 日韩精品五月天| 99精品国产91久久久久久| 在线免费观看一区| 成人精品在线视频| www欧美在线观看| 日韩欧美一区二区免费| 三级短视频在线| 国产·精品毛片| 国产一区在线免费观看| 日本天堂在线| 一区二区三区欧美激情| 日韩视频在线免费看| 国产成a人亚洲精品| 亚洲五月六月| 日韩福利电影在线| 精品福利影视| 欧美日韩1区2区3区| 国产精品自拍偷拍| 欧美色就是色| 亚洲999一在线观看www| 亚洲电影影音先锋| 制服视频三区第一页精品| 中文视频在线| 精品福利一区二区| 天堂a中文在线| 久久久精品五月天| 亚洲国产精品美女| av色综合久久天堂av色综合在| 欧美亚洲高清一区| 麻豆tv入口在线看| 亚洲激情视频网| 51一区二区三区| 久久99国产精品自在自在app| 人人九九精品视频| 日韩免费av在线| 中文字幕一区二区三三| 久久人人爽爽人人爽人人片av| 中文亚洲免费| 欧美激情视频免费观看| 国产二级片在线| 一本久久综合| 深夜成人在线观看| 国产毛片视频| 精品久久久久久久中文字幕| 水莓100国产免费av在线播放| 亚洲国产毛片aaaaa无费看| 男男电影完整版在线观看| 欧美日本国产一区| 毛片在线网址| 欧美性天天影视| 91福利视频在线| 黄色av免费在线| 亚洲美女在线观看| 欧美成人一级| 成人午夜在线视频一区| 国产精品亚洲欧美| 又大又硬又爽免费视频| 亚洲激情男女视频| fc2ppv国产精品久久| www.色综合| 国产二区视频在线| 91精品国产乱码久久久久久久| www久久99| 国内精品写真在线观看| 久久国产精品免费一区| 日韩经典av| 国产美女在线观看| 亚洲欧美国产精品| 国产区精品视频在线观看豆花| 91中文字幕在线观看| 韩国av一区二区三区在线观看| 韩国av电影免费观看| 欧美一区二区视频免费观看| 视频国产精品| 日韩精品不卡| 亚洲欧美aⅴ...| 91精选在线| 国产成人精品亚洲精品| 国产一区二区久久| 绯色av一区二区| 久久激情视频久久| 日本h片在线观看| 久久久久久91| 日韩精品一区第一页| www.成人69.com| 国产成人在线看| 最新av在线| 久久亚洲精品网站| 免费欧美在线| 日本成年免费网站| 国产欧美日韩精品一区| 自拍视频在线| 在线看国产一区| 久久伊人影院| 午夜精品短视频| 精品福利在线观看| 福利一区三区| 中文字幕一区二区三区四区五区六区 | 亚洲视频一区二区在线观看| 黄色av电影在线观看| 26uuu另类亚洲欧美日本一| 欧美日韩破处视频| 久久国产精品亚洲va麻豆| 亚洲男人天堂一区| 成人综合日日夜夜| www婷婷av久久久影片| 日韩欧美国产精品| 亚洲色图国产| 在线一区观看| 国产精品v片在线观看不卡| 91啦中文在线观看| 网站一区二区三区| 日韩成人在线网站| 国产视频一区在线观看一区免费| 全部孕妇毛片丰满孕妇孕交| 日韩中文在线中文网在线观看 | 91精品久久久久久久久久入口 | 中文字幕久久一区| 91精品国产综合久久久久| 91精品久久久久久久蜜月| 激情亚洲色图| 欧美激情在线狂野欧美精品| 91香蕉国产在线观看软件| 91精品韩国| 亚洲乱码日产精品bd在线观看| 精品第一国产综合精品aⅴ| 亚洲毛片网站| 国产91在线视频蝌蚪| 欧美日韩在线高清| 日韩欧美在线网站| 日韩成人一区二区| 国产激情视频在线看| 日韩天堂在线视频| 国产精品白丝jk黑袜喷水| segui88久久综合9999| 亚洲免费久久| 亚洲国产精品yw在线观看| 蜜臀av在线播放一区二区三区| 美脚丝袜脚交一区二区| 亚洲国产精品大全| 韩国v欧美v亚洲v日本v| 亚洲欧洲高清| 丁香婷婷综合激情| 一卡二卡欧美日韩| 国产一区二区三区网| 乱色588欧美| 欧美二区乱c少妇| 久久精品女人天堂| 亚洲精品福利电影| 自拍日韩亚洲一区在线| 欧美精品在线看| 亚洲乱码国产乱码精品精可以看 | 久久午夜电影| 男女视频在线| 中文字幕人妻熟女人妻洋洋| 伊人伊人伊人久久| 欧美电影一二区| 四虎影院在线播放| 含羞草久久爱69一区| 亚洲成人免费在线视频| 不卡电影一区二区三区| 国产在线一二三| 九九99玖玖| 亚洲欧美精品在线| 久久网站最新地址| av女优在线| 台湾成人av| 久久91精品国产| 偷拍日韩校园综合在线| 麻豆久久婷婷| av在线亚洲一区| 亚洲永久精品免费| 亚洲老妇激情| 韩国精品久久久| 亚洲国产91| 合欧美一区二区三区| 91青青草免费观看| 91精品国产一区二区三区蜜臀| 韩日av一区二区| 日韩母乳在线| 麻豆视频在线观看免费网站| 久久99久久久久久| 国产欧美va欧美va香蕉在线| 精品国产一区a| 亚洲欧洲无码一区二区三区| 亚洲人成人一区二区三区| 国产精品99久久久久久董美香 | 欧美刺激脚交jootjob| 久久久久久一级片| 欧美日韩ab| 97精品资源在线观看| 黄色av免费| 亚洲一区二区三区精品视频| 2019中文字幕在线| 亚洲国产精品免费| 日韩欧美国产视频| 91网上在线视频| 久久青草久久| 国产剧情在线观看一区|