校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > MySQL按指定字符合并以及拆分實例教程

MySQL按指定字符合并以及拆分實例教程

熱門標簽:鄭州網絡外呼系統價錢 南寧外呼系統招商 博樂電銷機器人 電話機器人是電腦呼號嗎 怎么更改高德地圖標注 機器人打電銷電話 云南大數據外呼系統 上海市三維地圖標注 400電話到哪辦理優惠

前言

按照指定字符進行合并或拆分是經常碰到的場景,MySQL在合并的寫法上比較簡單,但是按指定字符拆分相對比較麻煩一點(也就是要多寫一些字符)。本文將舉例演示如何進行按照指定字符合并及拆分。

1、 合并

MySQL數據庫中按照指定字符合并可以直接用group_concat來實現。

創建測試表

mysql> create table tb_group(id int auto_increment primary key ,col1 varchar(20));
Query OK, 0 rows affected (0.01 sec)

插入測試數據

mysql> insert into tb_group(col1) values('a'),('c'),('dddd'),('ewdw'),('vxgdh');;
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0

合并col1字段的內容

默認是按照逗號進行合并的,例如:

mysql> select group_concat(col1) from tb_group; 
+---------------------+
| group_concat(col1) |
+---------------------+
| a,c,dddd,ewdw,vxgdh |
+---------------------+
1 row in set (0.01 sec)

指定分隔符合并,例如指定使用 ||  符號進行合并

mysql> select group_concat(col1,'||') from tb_group; 
+-------------------------------+
| group_concat(col1,'||')  |
+-------------------------------+
| a||,c||,dddd||,ewdw||,vxgdh|| |
+-------------------------------+
1 row in set (0.00 sec)

注意

默認情況下,合并后的長度不能超過1024,否則結果會被截斷

例如,我再寫個腳本插入一些數據

# 使用shell腳本來實現
vim test_insert.sh
# 添加如下內容 

#!/bin/bash
# gjc

for i in {1..1025}
do
 mysql -uroot -p'123456' --socket=/data/mysql3306/tmp/mysql.sock -e "insert into testdb.tb_group1(col1)values('a') "
done

# 運行腳本插入數據 sh test_insert.sh
mysql> select count(*)from tb_group;
+----------+
| count(*) |
+----------+
|  1030 |
+----------+
1 row in set (0.00 sec)

再進行合并

mysql> select group_concat(col1)cols, length(group_concat(col1)) col_len from tb_group\G
*************************** 1. row ***************************
 cols: a,c,dddd,ewdw,vxgdh,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,
col_len: 1024
1 row in set, 2 warnings (0.01 sec)

可以看出,結果中總長度字節只有1024

對于這種情況,實際使用時肯定是不滿足的,如何解決呢?其實此長度與MySQL數據庫的group_concat_max_len參數有直接關系(默認為1024)

mysql> show global variables like 'group_concat_max_len';
+----------------------+-------+
| Variable_name  | Value |
+----------------------+-------+
| group_concat_max_len | 1024 |
+----------------------+-------+
1 row in set (0.08 sec)

那我們調整一下參數看看

/* 修改全局參數,這樣所有的新連接都會生效 */
mysql> set global group_concat_max_len=102400;
Query OK, 0 rows affected (0.01 sec)

/* 修改本會話參數,這樣當前連接不用退出也可以生效 */
mysql> set session group_concat_max_len=102400;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'group_concat_max_len';
+----------------------+--------+
| Variable_name  | Value |
+----------------------+--------+
| group_concat_max_len | 102400 |
+----------------------+--------+
1 row in set (0.00 sec)

mysql> show variables like 'group_concat_max_len';
+----------------------+--------+
| Variable_name  | Value |
+----------------------+--------+
| group_concat_max_len | 102400 |
+----------------------+--------+
1 row in set (0.01 sec)

再合并一下看看

mysql> select group_concat(col1)cols, length(group_concat(col1)) col_len from tb_group\G
*************************** 1. row ***************************
 cols: a,c,dddd,ewdw,vxgdh,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a
col_len: 2069
1 row in set (0.01 sec)

這樣結果就對了。因此生產環境中 該參數建議調整為合適的大小。

(Tips:Oracle數據庫中可以使用listagg或wm_concat等多種方式實現,也比較簡單,可以自行測試)

2、 拆分

按指定字符拆分字符串,也是比較常見的場景。但是MySQL數據庫中字符串的拆分沒有其他數據庫那么方便(其他數據庫直接有拆分函數),且需要借助mysql庫中的mysql.help_topic表來輔助實現。例子如下:

創建測試表及數據

mysql> create table tb_split(id int primary key auto_increment,col1 varchar(20));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into tb_split(col1) values('a,b,c,d'),('c,a,g,h');
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0

按照逗號拆分

mysql> SELECT a.id, substring_index(substring_index(a.col1, ',', b.help_topic_id + 1), ',',- 1) NAME FROM tb_split a JOIN mysql.help_topic b ON b.help_topic_id  (length(a.col1) - length(REPLACE(a.col1, ',', '')) + 1);
+----+------+
| id | NAME |
+----+------+
| 1 | a |
| 1 | b |
| 1 | c |
| 1 | d |
| 2 | c |
| 2 | a |
| 2 | g |
| 2 | h |
+----+------+
8 rows in set (0.00 sec)

這樣也就實現了拆分。

按指定字符拆分

如果是其他分隔符的,修改瑞陽的分隔符字段即可。

mysql> insert into tb_split(col1) values('a|v|f');
Query OK, 1 row affected (0.00 sec)

mysql> select * from tb_split;
+----+---------+
| id | col1  |
+----+---------+
| 1 | a,b,c,d |
| 2 | c,a,g,h |
| 3 | a|v|f  |
+----+---------+
3 rows in set (0.01 sec)

mysql> SELECT a.id, substring_index(substring_index(a.col1, '|', b.help_topic_id + 1), '|',- 1) col_split FROM tb_split a JOIN mysql.help_topic b ON b.help_topic_id  (length(a.col1) - length(REPLACE(a.col1, '|', '')) + 1) where a.id=3;
+----+-----------+
| id | col_split |
+----+-----------+
| 3 | a     |
| 3 | v     |
| 3 | f     |
+----+-----------+
3 rows in set (0.00 sec)

這樣就完成按照指定字符的合并及拆分了。

3、 結語

本文介紹了MySQL常用的合并及拆分方法,對于擅長寫SQL的同學也可以使用其他方式實現,以便解決權限不足(例如拆分時需要使用mysql庫的help_topic表的權限)等情況下的需求。

到此這篇關于MySQL按指定字符合并以及拆分的文章就介紹到這了,更多相關MySQL指定字符合并及拆分內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MYSQL數據庫數據拆分之分庫分表總結
  • 使用perl實現拆分數據表(mysql)并遷移數據實例
  • MySQL截取和拆分字符串函數用法示例
  • MySQL 常見數據拆分辦法
  • MySQL 表的垂直拆分和水平拆分

標簽:恩施 澳門 秦皇島 定西 杭州 白銀 寧夏 益陽

巨人網絡通訊聲明:本文標題《MySQL按指定字符合并以及拆分實例教程》,本文關鍵詞  MySQL,按,指定,字符,合并,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL按指定字符合并以及拆分實例教程》相關的同類信息!
  • 本頁收集關于MySQL按指定字符合并以及拆分實例教程的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲国产视频在线| 麻豆精品视频在线| 欧美大片日本大片免费观看| 丁香桃色午夜亚洲一区二区三区| 一区二区三区在线视频观看58| 日韩免费性生活视频播放| 一本一道久久a久久精品综合蜜臀| 麻豆一区二区99久久久久| 亚洲丝袜美腿综合| 精品国产乱码久久久久久免费| 91久久精品网| 国产99精品国产| 激情综合色综合久久| 一区二区三区毛片| 国产蜜臀97一区二区三区| 91麻豆精品国产91久久久更新时间| 成人av在线影院| 国产成人精品亚洲777人妖| 天堂资源在线中文精品| 亚洲乱码国产乱码精品精可以看 | 日韩一区二区三区在线| 一本到高清视频免费精品| 国产成人免费视频一区| 久久精品999| 日韩激情av在线| 亚洲国产视频a| 亚洲日本一区二区| 国产精品久久久久久久岛一牛影视| 精品少妇一区二区| 欧美一区二区在线免费观看| 日本韩国欧美一区| 91网站在线播放| 99久久精品国产一区二区三区| 国产精品 日产精品 欧美精品| 粉嫩久久99精品久久久久久夜 | 久久久久久久久久久久电影| 欧美r级在线观看| 欧美三级电影精品| 欧美亚洲日本国产| 欧美专区亚洲专区| 欧美视频在线观看一区二区| 欧美伊人久久久久久久久影院| 亚洲三级免费电影| 91精品国产乱码久久蜜臀| 337p亚洲精品色噜噜噜| 日本乱码高清不卡字幕| 色一情一伦一子一伦一区| 97精品国产露脸对白| 97久久精品人人澡人人爽| 91碰在线视频| 在线免费观看日本欧美| 欧洲日韩一区二区三区| 欧美视频一二三区| 欧美色图激情小说| 欧美一区二区三区在线观看 | 久久成人综合网| 国产自产视频一区二区三区| 国产精品99久久久久久久vr| 成人午夜av电影| 91美女精品福利| 欧美日韩在线综合| 欧美一区二区日韩| 久久久夜色精品亚洲| 亚洲欧洲日产国码二区| 夜夜揉揉日日人人青青一国产精品| 亚洲自拍另类综合| 蜜桃av一区二区| 国产成人av一区二区三区在线观看| 成人精品电影在线观看| 欧美日韩在线播放| 欧美videos中文字幕| 国产精品国产三级国产专播品爱网 | 欧美写真视频网站| 精品久久久久久久久久久久包黑料| 国产午夜亚洲精品理论片色戒| 国产精品色哟哟| 亚洲一区二区av电影| 国产一级精品在线| 一本色道a无线码一区v| 欧美一区二区三区人| 国产欧美在线观看一区| 亚洲一级二级三级在线免费观看| 久久国产精品色| 色先锋aa成人| 久久久天堂av| 亚洲尤物在线视频观看| 国产精品一区二区果冻传媒| 一本一本大道香蕉久在线精品 | 久久久久久99久久久精品网站| 日韩毛片视频在线看| 日韩精品成人一区二区在线| 风间由美一区二区三区在线观看 | 亚洲免费视频中文字幕| 91精品国产综合久久久蜜臀粉嫩| 欧美私人免费视频| 久久精品人人做人人爽人人| 亚洲黄色av一区| 国产激情视频一区二区在线观看| 精品视频1区2区| 综合欧美一区二区三区| 黄一区二区三区| 欧美日韩国产综合一区二区| 国产精品免费人成网站| 蜜臀久久99精品久久久画质超高清| av一二三不卡影片| 欧美成人a∨高清免费观看| 亚洲综合图片区| 国产精品综合视频| 91精品久久久久久蜜臀| 亚洲欧美日韩国产综合在线| 国产一区二区在线看| 欧美日韩成人综合天天影院| 亚洲人成小说网站色在线| 国内精品视频一区二区三区八戒| 欧美女孩性生活视频| 亚洲欧美色综合| 成人午夜精品一区二区三区| 精品国产一区二区三区四区四 | 激情图区综合网| 青娱乐精品在线视频| 久久精品国产**网站演员| 日韩一卡二卡三卡国产欧美| 在线观看视频一区| www.66久久| 亚洲精品菠萝久久久久久久| 风间由美一区二区av101| 精品福利视频一区二区三区| 无码av免费一区二区三区试看 | 欧美日韩在线观看一区二区 | 成人黄色综合网站| 国产亚洲视频系列| 精品一区二区三区不卡| 欧美一卡二卡三卡| 婷婷中文字幕一区三区| 7777精品伊人久久久大香线蕉最新版| 一区二区三区不卡视频| 欧美自拍偷拍午夜视频| 一区二区在线观看不卡| 91免费在线播放| 亚洲美女视频在线观看| 在线观看视频欧美| 亚洲成人精品一区| 制服丝袜一区二区三区| 日韩国产在线观看| 日韩视频免费观看高清完整版 | 国产欧美日韩亚州综合 | 成人av资源在线| 亚洲桃色在线一区| 欧美系列一区二区| 日本午夜一本久久久综合| 日韩欧美亚洲另类制服综合在线| 久久精品国产精品亚洲红杏| 欧美电影免费观看高清完整版在线观看 | 日本高清免费不卡视频| 亚洲黄色录像片| 日本韩国一区二区三区视频| 洋洋成人永久网站入口| 欧美日韩专区在线| 五月天激情综合网| 精品乱人伦一区二区三区| 精品一区二区在线视频| 国产亚洲欧美中文| jiyouzz国产精品久久| 亚洲欧美中日韩| 久久91精品国产91久久小草| 国产欧美一区二区在线| 成人的网站免费观看| 亚洲欧洲性图库| 欧美日韩一区不卡| 日韩成人一级大片| 日韩欧美美女一区二区三区| 久久91精品国产91久久小草| 国产精品三级在线观看| 99国产精品99久久久久久| 玉米视频成人免费看| 91九色02白丝porn| 欧美bbbbb| 久久久www成人免费毛片麻豆| 国产精品一区二区男女羞羞无遮挡| 久久久久99精品国产片| jlzzjlzz欧美大全| 亚洲成人一二三| 精品国产一区二区在线观看| 国产91精品在线观看| 亚洲天天做日日做天天谢日日欢| 色呦呦日韩精品| 美国十次综合导航| 怡红院av一区二区三区| 欧美一级免费大片| 国产精品2024| 亚洲风情在线资源站| 精品99久久久久久| 99久久er热在这里只有精品15| 亚洲国产一区二区三区青草影视| 久久精品一区八戒影视| 欧洲人成人精品| 国产一区二区三区最好精华液| 国产亚洲人成网站| 91精品黄色片免费大全| 国产在线精品一区二区夜色 |