成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

mysql json格式數據查詢操作

瀏覽:2日期:2023-10-08 12:39:07

預設表名是 base_data , json列名是 json_value

json_value的值是

{“ids”:[“a”,“b”],“datas”:[{“name”:“張三”}]}

那么查詢語句應該是

select * from base_data where JSON_CONTAINS(json_value -> '$.ids', JSON_ARRAY(’a’));

或者

select * from base_data where JSON_CONTAINS(json_value -> '$.ids[*]', JSON_ARRAY(’a’));

兩種都行,具體什么區(qū)別暫時還不得而知

補充知識:mysql中varchar字段長度超過限制長度自動截取的問題-----MySQL的sql_mode模式說明及設置

MySQL的sql_mode合理設置

sql_mode是個很容易被忽視的變量,默認值是空值,在這種設置下是可以允許一些非法操作的,比如允許一些非法數據的插入。在生產環(huán)境必須將這個值設置為嚴格模式,所以開發(fā)、測試環(huán)境的數據庫也必須要設置,這樣在開發(fā)測試階段就可以發(fā)現問題.

sql model 常用來解決下面幾類問題

(1) 通過設置sql mode, 可以完成不同嚴格程度的數據校驗,有效地保障數據準備性。

(2) 通過設置sql model 為寬松模式,來保證大多數sql符合標準的sql語法,這樣應用在不同數據庫之間進行遷移時,則不需要對業(yè)務sql 進行較大的修改。

(3) 在不同數據庫之間進行數據遷移之前,通過設置SQL Mode 可以使MySQL 上的數據更方便地遷移到目標數據庫中。

sql_mode常用值如下:

ONLY_FULL_GROUP_BY:

對于GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現,那么這個SQL是不合法的,因為列不在GROUP BY從句中

NO_AUTO_VALUE_ON_ZERO:

該值影響自增長列的插入。默認設置下,插入0或NULL代表生成下一個自增長值。如果用戶 希望插入的值為0,而該列又是自增長的,那么這個選項就有用了。

STRICT_TRANS_TABLES:

在該模式下,如果一個值不能插入到一個事務表中,則中斷當前的操作,對非事務表不做限制

NO_ZERO_IN_DATE:

在嚴格模式下,不允許日期和月份為零

NO_ZERO_DATE:

設置該值,mysql數據庫不允許插入零日期,插入零日期會拋出錯誤而不是警告。

ERROR_FOR_DIVISION_BY_ZERO:

在INSERT或UPDATE過程中,如果數據被零除,則產生錯誤而非警告。如 果未給出該模式,那么數據被零除時MySQL返回NULL

NO_AUTO_CREATE_USER:

禁止GRANT創(chuàng)建密碼為空的用戶

NO_ENGINE_SUBSTITUTION:

如果需要的存儲引擎被禁用或未編譯,那么拋出錯誤。不設置此值時,用默認的存儲引擎替代,并拋出一個異常

PIPES_AS_CONCAT:

將'||'視為字符串的連接操作符而非或運算符,這和Oracle數據庫是一樣的,也和字符串的拼接函數Concat相類似

ANSI_QUOTES:

啟用ANSI_QUOTES后,不能用雙引號來引用字符串,因為它被解釋為識別符

ORACLE的sql_mode設置等同:

PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER.

如果使用mysql,為了繼續(xù)保留大家使用oracle的習慣,可以對mysql的sql_mode設置如下:

在my.cnf添加如下配置

[mysqld]

sql_mode=’ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,

ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,PIPES_AS_CONCAT,ANSI_QUOTES’

注意:

MySQL5.6和MySQL5.7默認的sql_mode模式參數是不一樣的,5.6的mode是NO_ENGINE_SUBSTITUTION,其實表示的是一個空值,相當于沒有什么模式設置,可以理解為寬松模式。5.7的mode是STRICT_TRANS_TABLES,也就是嚴格模式。

如果設置的是寬松模式,那么我們在插入數據的時候,即便是給了一個錯誤的數據,也可能會被接受,并且不報錯,例如:我在創(chuàng)建一個表時,該表中有一個字段為name,給name設置的字段類型時char(10),如果我在插入數據的時候,其中name這個字段對應的有一條數據的長度超過了10,例如’1234567890abc’,超過了設定的字段長度10,那么不會報錯,并且取前十個字符存上,也就是說你這個數據被存為了’1234567890’,而’abc’就沒有了,但是我們知道,我們給的這條數據是錯誤的,因為超過了字段長度,但是并沒有報錯,并且mysql自行處理并接受了,這就是寬松模式的效果,其實在開發(fā)、測試、生產等環(huán)境中,我們應該采用的是嚴格模式,出現這種錯誤,應該報錯才對,所以MySQL5.7版本就將sql_mode默認值改為了嚴格模式,并且我們即便是用的MySQL5.6,也應該自行將其改為嚴格模式,而你記著,MySQL等等的這些數據庫,都是想把關于數據的所有操作都自己包攬下來,包括數據的校驗,其實好多時候,我們應該在自己開發(fā)的項目程序級別將這些校驗給做了,雖然寫項目的時候麻煩了一些步驟,但是這樣做之后,我們在進行數據庫遷移或者在項目的遷移時,就會方便很多,這個看你們自行來衡量。mysql除了數據校驗之外,你慢慢的學習過程中會發(fā)現,它能夠做的事情還有很多很多,將你程序中做的好多事情都包攬了。

改為嚴格模式后可能會存在的問題:

若設置模式中包含了NO_ZERO_DATE,那么MySQL數據庫不允許插入零日期,插入零日期會拋出錯誤而不是警告。例如表中含字段TIMESTAMP列(如果未聲明為NULL或顯示DEFAULT子句)將自動分配DEFAULT ’0000-00-00 00:00:00’(零時間戳),也或者是本測試的表day列默認允許插入零日期 ’0000-00-00’ COMMENT ’日期’;這些顯然是不滿足sql_mode中的NO_ZERO_DATE而報錯。

模式設置和修改(以解決上述問題為例):

方式一:

先執(zhí)行select @@sql_mode,復制查詢出來的值并將其中的NO_ZERO_IN_DATE,NO_ZERO_DATE刪除,然后執(zhí)行set sql_mode = ’修改后的值’或者set session sql_mode=’修改后的值’;,例如:set session sql_mode=’STRICT_TRANS_TABLES’;改為嚴格模式

此方法只在當前會話中生效,關閉當前會話就不生效了。

方式二:

先執(zhí)行select @@global.sql_mode,復制查詢出來的值并將其中的NO_ZERO_IN_DATE,NO_ZERO_DATE刪除,然后執(zhí)行set global sql_mode = ’修改后的值’。

此方法在當前服務中生效,重新MySQL服務后失效

方法三:在mysql的安裝目錄下,或my.cnf文件(windows系統(tǒng)是my.ini文件),新增

sql_mode = ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,

添加my.cnf如下:

[mysqld]

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER

然后重啟mysql。

此方法永久生效.當然生產環(huán)境上是禁止重啟MySQL服務的,所以采用方式二加方式三來解決線上的問題,那么即便是有一天真的重啟了MySQL服務,也會永久生效了。

以上這篇mysql json格式數據查詢操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美日韩免费观看一区三区| 91蜜桃免费观看视频| av一区二区三区黑人| 欧美日韩中字一区| 日韩福利电影在线| 国产视频一区三区| 日韩理论电影院| 黄色日韩精品| 国产精品天美传媒| 欧美精品不卡| 欧美国产精品中文字幕| 国产成人av电影免费在线观看| 欧美日韩一区久久| 免费在线看成人av| 欧美亚洲国产一区二区三区 | 一区二区动漫| 中文字幕一区在线观看| 国产精品www994| 中文字幕国产一区二区| 欧美日本不卡| 亚洲欧美综合色| 一区二区黄色| 亚洲国产日韩a在线播放性色| 亚洲永久免费| 亚洲大尺度视频在线观看| 欧美综合国产| 日本一区中文字幕| 欧美三日本三级三级在线播放| 久久av中文字幕片| 欧美日韩中文字幕一区| 国产精品99久久久久久似苏梦涵| 日韩亚洲欧美成人一区| 91视频国产观看| 国产精品高潮呻吟久久| 99日韩精品| 亚洲电影在线免费观看| 日本久久电影网| 国产永久精品大片wwwapp | 欧美精品成人一区二区三区四区| 黄色资源网久久资源365| 欧美一区二区大片| 欧美一区免费| 亚洲国产精品黑人久久久| 欧美大片专区| 国产精品久久夜| 国产三级精品在线不卡| 日韩av中文字幕一区二区三区| 欧美午夜电影网| 国产剧情一区在线| 国产日韩精品一区二区三区在线| 亚洲福利国产| 婷婷丁香久久五月婷婷| 欧美四级电影在线观看| www.日韩大片| 日韩一区日韩二区| 一本一道久久a久久精品 | 精品电影一区| 亚洲电影中文字幕在线观看| 欧美日韩亚洲另类| 97久久超碰精品国产| 亚洲视频网在线直播| 老牛嫩草一区二区三区日本| 国内精品不卡在线| 中文字幕第一区第二区| 免费亚洲网站| 国产精品一区二区你懂的| 国产偷国产偷亚洲高清人白洁| 99精品视频免费观看视频| 捆绑调教一区二区三区| 久久亚洲一区二区三区四区| 国产视频一区免费看| 九九在线精品视频| 久久精品夜夜夜夜久久| 亚洲免费综合| 国产大陆a不卡| 国产精品久久久久久妇女6080| 性感少妇一区| 成人午夜激情影院| 一级精品视频在线观看宜春院| 欧美精品丝袜中出| 欧美视频日韩| 日韩国产欧美在线视频| 精品日韩一区二区三区免费视频| 国产在线精品二区| 婷婷亚洲久悠悠色悠在线播放| 欧美一二三四区在线| 亚洲人成网站在线观看播放| 麻豆精品一区二区三区| 2021久久国产精品不只是精品| 国产色综合网| 懂色av一区二区三区蜜臀| 亚洲婷婷在线视频| 欧美日韩不卡一区| 亚洲午夜精品久久| 九九精品一区二区| **网站欧美大片在线观看| 在线亚洲一区观看| 欧美激情视频一区二区三区免费| 日韩精品视频网站| 精品少妇一区二区三区| 久久av在线| 91免费看`日韩一区二区| 午夜视频一区在线观看| 国产区在线观看成人精品| 91成人在线观看喷潮| 91美女片黄在线| 美女网站在线免费欧美精品| 国产午夜精品福利| 欧美日韩精品免费观看视频| 亚洲免费大片| 不卡av在线免费观看| 亚洲福利视频导航| 国产亲近乱来精品视频| 欧美日韩另类一区| 国产日韩欧美三级| 91美女视频网站| 久久97超碰国产精品超碰| 亚洲精品日韩综合观看成人91| 欧美一区二区三区视频| 国产日韩一区二区三区| gogogo免费视频观看亚洲一| 日日夜夜精品视频免费| 国产欧美精品一区aⅴ影院| 欧美日韩精品一区视频| 亚洲一区二区三区四区中文| av资源站一区| 久久99精品久久久久久国产越南| 亚洲免费观看高清完整版在线 | 欧美四级电影网| aa级大片欧美三级| 97se亚洲国产综合自在线| 美国三级日本三级久久99| ㊣最新国产の精品bt伙计久久| 欧美一区二区三区在线看| 久久久久久久欧美精品| 亚洲国产高清一区二区三区| 成人激情免费视频| 狠狠网亚洲精品| 亚洲国产成人av好男人在线观看| 国产精品国产三级国产专播品爱网| 日韩欧美二区三区| 欧美日韩国产影片| 色噜噜狠狠色综合欧洲selulu| av成人免费观看| 欧美午夜精品理论片a级大开眼界| 成人午夜电影久久影院| 蜜桃av一区二区在线观看| 亚洲国产欧美另类丝袜| 中文字幕日韩一区| 国产亚洲综合av| 精品少妇一区二区三区视频免付费 | 日本一区免费视频| 日韩欧美国产一区二区在线播放| 91成人网在线| 玖玖国产精品视频| 午夜一级久久| 国产精品免费一区二区三区观看 | 欧美老女人第四色| 欧洲国内综合视频| 91精彩视频在线| 久久一区二区三区超碰国产精品| 亚洲美女视频在线免费观看 | 韩国午夜理伦三级不卡影院| 天天综合网 天天综合色| 一区二区三区四区国产精品| 综合色中文字幕| 中文字幕乱码久久午夜不卡 | 欧美日韩国语| 欧美精品网站| 欧美国产先锋| 欧美视频二区| 在线看片欧美| 在线看无码的免费网站| 亚洲高清在线| 99在线精品免费视频九九视 | 一区二区三区成人在线视频| 亚洲免费在线视频一区 二区| 亚洲美女电影在线| 亚洲激情综合网| 亚洲一区二区高清| 天天综合天天综合色| 日韩1区2区3区| 免费人成在线不卡| 久久精品国产亚洲一区二区三区| 毛片基地黄久久久久久天堂| 麻豆视频观看网址久久| 蜜臀av一级做a爰片久久| 日本怡春院一区二区| 老司机精品视频导航| 国产一区日韩二区欧美三区| 国产一区二区视频在线| 国产91富婆露脸刺激对白| www.在线欧美| 欧美日韩免费| 红桃视频国产精品| 国产精品久久久久久久免费软件| 久久精品欧美| 欧美日韩电影一区| 精品少妇一区二区三区视频免付费| 久久伊99综合婷婷久久伊|