MySQL里面保存數(shù)據(jù)有時(shí)候會(huì)把一些雜亂且不常用的時(shí)候丟進(jìn)一個(gè)json字段里面
下面說說mysql存儲(chǔ)json注意那些格式吧:
1:注意保存是中文不要變成轉(zhuǎn)碼的,轉(zhuǎn)碼之后導(dǎo)致查詢非常麻煩,壓縮時(shí)候后面多帶一個(gè)參數(shù),方便不止一點(diǎn)點(diǎn)喲!
json_encode(array(),JSON_UNESCAPED_UNICODE);
好處:這樣查詢的時(shí)候中文字符更好的匹配查詢
2:字段統(tǒng)一 存的時(shí)候最好開始定好字段名稱 ,開發(fā)一個(gè)大點(diǎn)的項(xiàng)目不可能一個(gè)人開發(fā)統(tǒng)一字段可以減少很多不需要的麻煩和字段不同意導(dǎo)致bug(反正我是在這上面吃過一個(gè)虧,但是帶大家做項(xiàng)目當(dāng)時(shí)沒想到加上趕導(dǎo)致后面測(cè)試修改耗費(fèi)比開發(fā)更多時(shí)間)
好處:減少查詢出來(lái)數(shù)據(jù)代碼處理量,降低項(xiàng)目頁(yè)面顯示bug
3:能存一維數(shù)組絕對(duì)不要存二維數(shù)組
原因:二維數(shù)組不可控,這個(gè)還是的更具需求來(lái)定
個(gè)人習(xí)慣反正這是我的習(xí)慣,哈哈哈,不爽可以來(lái)打我呀!
下面說正事:查詢當(dāng)然用的是like
例如有一張table表里面有一個(gè)content字段,現(xiàn)在是找出actid為123456789的
5.7:select * from table where content->'$.actid' like '%123456789%';
5.6:select * from table where content like '%"actid":"123456789"%'
這樣應(yīng)該一看就懂,教學(xué)嗎教肯定全套,做個(gè)保健不也是,所以代碼里面有的人說怎么用
$id="123456789";
$sql="select * from table where content like '%\"actid":\""$id"\"%\'";
以上所述是小編給大家介紹的mysql5.6及以下版本如何查詢數(shù)據(jù)庫(kù)里的json,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- mysql查詢字段類型為json時(shí)的兩種查詢方式
- MySQL全文索引、聯(lián)合索引、like查詢、json查詢速度哪個(gè)快
- mysql json格式數(shù)據(jù)查詢操作
- Mysql 查詢JSON結(jié)果的相關(guān)函數(shù)匯總
- MySQL中查詢json格式的字段實(shí)例詳解