網上很多方法是採用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一樣。允許任意主機連線。這樣你可以方便進行在本地遠端運算元據庫了...