MySql逗號(hào)分割的字段數(shù)據(jù)分解為多行代碼示例
在 MySQL 中,你可以使用函數(shù) REPLACE 和 SUBSTRING_INDEX 來(lái)將一行逗號(hào)分隔的數(shù)據(jù)分解為多行。
例如,假設(shè)你有一個(gè)表,其中包含一列 items,該列包含逗號(hào)分隔的字符串,如下所示:
+----+---------------------+ | id | items | +----+---------------------+ | 1 | item1,item2,item3 | | 2 | item4,item5 | | 3 | item6 | +----+---------------------+
你可以使用以下查詢來(lái)將該表中的每一行數(shù)據(jù)分解為多行:
SELECT id, SUBSTRING_INDEX(SUBSTRING_INDEX(items, ',', n), ',', -1) AS item FROM my_table, (SELECT @rownum := @rownum + 1 AS n FROM (SELECT @rownum := 0) r, my_table) x WHERE n <= (LENGTH(items) - LENGTH(REPLACE(items, ',', '')) + 1);
該查詢會(huì)返回如下所示的結(jié)果:
+----+-------+ | id | item | +----+-------+ | 1 | item1 | | 1 | item2 | | 1 | item3 | | 2 | item4 | | 2 | item5 | | 3 | item6 | +----+-------+
附:mysql一行數(shù)據(jù)全部分解為多行
可以使用 MySQL 的 REPLACE 函數(shù)來(lái)實(shí)現(xiàn)這一目的。例如,假設(shè)你有一個(gè)名為 data
的表,其中包含一個(gè)名為 text
的字段,你希望將該字段中的每一行分解為多行。你可以使用以下 SQL 語(yǔ)句實(shí)現(xiàn)此目的:
UPDATE data SET text = REPLACE(text, '\n', '\n');
在這里,\n
表示換行符。
要將所有行都分解為多行,你可以使用以下語(yǔ)句:
SELECT REPLACE(text, '\n', '\n') as text FROM data;
這將在查詢結(jié)果中顯示分解為多行的文本。
總結(jié)
到此這篇關(guān)于MySql逗號(hào)分割的字段數(shù)據(jù)分解為多行的文章就介紹到這了,更多相關(guān)MySql逗號(hào)分割字段分解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL高效導(dǎo)入多個(gè).sql文件方法詳解
MySQL有多種方法導(dǎo)入多個(gè).sql文件,常用的有兩個(gè)命令:mysql和source,如何提高導(dǎo)入速度,在導(dǎo)入大的sql文件時(shí),建議使用mysql命令2018-10-10詳解MySQL數(shù)據(jù)庫(kù)優(yōu)化的八種方式(經(jīng)典必看)
關(guān)于數(shù)據(jù)庫(kù)優(yōu)化,網(wǎng)上有不少資料和方法,但是不少質(zhì)量參差不齊,有些總結(jié)的不夠到位,內(nèi)容冗雜。今天給大家分享一篇文章關(guān)于mysql數(shù)據(jù)庫(kù)優(yōu)化的八種方式,非常經(jīng)典,需要的的朋友參考下2017-03-03詳解MySQL子查詢(嵌套查詢)、聯(lián)結(jié)表、組合查詢
這篇文章主要介紹了MySQL子查詢(嵌套查詢)、聯(lián)結(jié)表、組合查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03mysql使用GROUP BY分組實(shí)現(xiàn)取前N條記錄的方法
這篇文章主要介紹了mysql使用GROUP BY分組實(shí)現(xiàn)取前N條記錄的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了mysql中GROUP BY分組的相關(guān)使用技巧,需要的朋友可以參考下2016-06-06MYSQL中有關(guān)SUM字段按條件統(tǒng)計(jì)使用IF函數(shù)(case)問(wèn)題
MYSQL中SUM字段按條件統(tǒng)計(jì)使用IF函數(shù),具體實(shí)現(xiàn)代碼如下,感興趣的朋友不要錯(cuò)過(guò)2014-01-01mysql中關(guān)于覆蓋索引的知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于mysql中關(guān)于覆蓋索引的知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們學(xué)習(xí)參考下。2020-08-08