mysql實現一樣變多行(表關聯,批量實現)

2021-06-21 05:58:26 字數 895 閱讀 3127

網上很多方法是採用split的方式,寫函式,判斷分隔符,來擷取字段放到臨時表,但這樣,無法批量來處理一行變多行的問題,如乙個log檔案,裡面的日誌格式為:

1       a,b,c,d,2,3,4

2       abb,bbb,ccc,222,333

要產生這樣的結果:

1       a

1       b

1       c

1       d

1       2

1       3

1       4

2       abb

2       bbb

2       ccc

2       222

2       333

採用函式來實現,要一條一條來呼叫,比較麻煩

採用文字匯出的方式,實現步驟如下:

1、採用load的方式,把文字匯入表,給表乙個自增長的識別id

2、字串列,代替分隔符(分隔符+換行符代替原來的分隔符),並在每一列增加識別id

3、把字串列匯出到文字

4、把文字匯入的另外乙個表

5、兩個表關聯產生新的記錄

第二步:

select 

replace(concat(id,'||',replace(trim(both '#' from actions),'#',concat('#',id,'||'))),'#',char(10)) a

from file_log where users like '2,%'

select * 

from

file_log a,

file_log_action b 

where a.id = b.id 

and b.actions like '1,%'

像查詢MySql一樣查詢Redis

關係型資料庫如mysql有豐富的sql語句供我們使用,如 等等。有些人曾經期待過,能否像查詢mysql一樣查詢redis?我就是其中的一員。現在有乙個php庫可以幫助你達成這個期待 redisun 推薦通過composer安裝 composer require limen redisun use l...

mysql新增和root使用者一樣的許可權

以下語句具有和root使用者一樣的許可權。大家在拿站時應該碰到過。root使用者的mysql,只可以本地連,對外拒絕連線。以下方法可以幫助你解決這個問題了,下面的語句功能是,建立乙個使用者為monitor密碼admin許可權為和root一樣。允許任意主機連線。這樣你可以方便進行在本地遠端運算元據庫了...

mysql新增和root使用者一樣的許可權

以下語句具有和root使用者一樣的許可權。大家在拿站時應該碰到過。root使用者的mysql,只可以本地連,對外拒絕連線。以下方法可以幫助你解決這個問題了,下面的語句功能是,建立乙個使用者為monitor密碼admin許可權為和root一樣。允許任意主機連線。這樣你可以方便進行在本地遠端運算元據庫了...