最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中json_extract()函數(shù)的使用實例

 更新時間:2022年07月05日 10:08:10   作者:紫夢小緣  
這篇文章主要介紹了MySQL中json_extract()函數(shù)的使用實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MySQL中json_extract()函數(shù)的使用

作用:截取數(shù)據(jù)庫中指定字段中存儲的json數(shù)據(jù)中的某個字段對應的值

要做做什么?(根據(jù)數(shù)據(jù)庫中相關表字段中存儲的json格式的數(shù)據(jù),然后以SQL語句的形式取出其中指定key對應的值,最終整理匯總為一張視圖供以后的方便使用)

一、初始化

1、初始化表結構

CREATE TABLE `cus_history` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵id',
  `customer_id` bigint(20) NOT NULL COMMENT '客戶id',
  `name` varchar(20) NOT NULL COMMENT '姓名',
  `sex` char(2) DEFAULT NULL COMMENT '性別',
  `sex_name` varchar(200) DEFAULT NULL COMMENT '性別',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `birtydaytype` char(2) DEFAULT NULL COMMENT '出生日期類型',
  `birtydaytype_name` varchar(200) DEFAULT NULL COMMENT '生日類型',
  `age` varchar(20) DEFAULT NULL COMMENT '年齡',
  `nation` char(2) DEFAULT NULL COMMENT '民族',
  `nation_name` varchar(200) DEFAULT NULL COMMENT '民族',
  `religion` char(2) DEFAULT NULL COMMENT '宗教',
  `religion_name` varchar(200) DEFAULT NULL COMMENT '宗教',
  `phone` varchar(20) DEFAULT NULL COMMENT '手機',
  `marriage` char(2) DEFAULT NULL COMMENT '婚姻',
  `marriage_name` varchar(200) DEFAULT NULL COMMENT '婚姻',
  `service_gradation` char(4) DEFAULT NULL COMMENT '服務等級',
  `service_gradation_name` varchar(200) DEFAULT NULL COMMENT '服務等級',
  `occupation` char(2) DEFAULT NULL COMMENT '職業(yè)',
  `occupation_name` varchar(200) DEFAULT NULL COMMENT '職業(yè)',
  `education` char(2) DEFAULT NULL COMMENT '教育程度',
  `education_name` varchar(200) DEFAULT NULL COMMENT '學歷',
  `blood` char(2) DEFAULT NULL COMMENT '血型',
  `blood_name` varchar(200) DEFAULT NULL COMMENT '血型',
  `blood_rh` char(2) DEFAULT NULL COMMENT 'rh血型',
  `blood_rh_name` varchar(200) DEFAULT NULL COMMENT 'rh血型',
  `kind` char(2) DEFAULT NULL COMMENT '顧客類型',
  `kind_name` varchar(200) DEFAULT NULL COMMENT '顧客類型',
  `gradation` char(2) DEFAULT NULL COMMENT '顧客級別',
  `gradation_name` varchar(200) DEFAULT NULL COMMENT '顧客級別',
  `register_addr` varchar(200) DEFAULT NULL COMMENT '戶口地址',
  `contact_addr` varchar(200) DEFAULT NULL COMMENT '聯(lián)系地址',
  `address_backup` text COMMENT '地址歸檔',
  `relations_backup` text COMMENT '聯(lián)系人歸檔',
  `allowancetype_backup` text COMMENT '津貼歸檔',
  `medicaltype_backup` text COMMENT '醫(yī)保類型歸檔',
  `deformitytype_backup_json` json DEFAULT NULL,
  `deformitytype_backup` text COMMENT '殘疾類型歸檔',
  `history_disease_backup_json` json DEFAULT NULL,
  `history_disease_backup` text COMMENT '疾病史歸檔',
  `history_drug_backup_json` json DEFAULT NULL,
  `history_drug_backup` text COMMENT '用藥史歸檔',
  `history_allergy_backup` text COMMENT '過敏史歸檔',
  `history_operation_backup` text COMMENT '手術史歸檔',
  `history_bloodtrans_backup` text COMMENT '輸血史歸檔',
  `history_injury_backup` text COMMENT '外傷史歸檔',
  `history_familydisease_backup` text COMMENT '家族疾病史歸檔',
  `history_geneticdisease_backup` text COMMENT '遺傳史歸檔',
  `isvalid` char(1) NOT NULL DEFAULT '1' COMMENT '是否可用',
  `sts` char(1) NOT NULL DEFAULT '1' COMMENT '是否刪除',
  `create_id` bigint(20) DEFAULT NULL COMMENT '創(chuàng)建人',
  `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時間',
  `modify_id` bigint(20) DEFAULT NULL COMMENT '修改人',
  `modify_time` datetime DEFAULT NULL COMMENT '修改時間',
  `remark` varchar(200) DEFAULT NULL COMMENT '備注',
  `height` varchar(20) DEFAULT NULL COMMENT '身高',
  `weight` varchar(20) DEFAULT NULL COMMENT '體重',
  `identity` varchar(50) DEFAULT NULL COMMENT '身份證號',
  `telephone` varchar(50) DEFAULT NULL COMMENT '固定電話',
  `service_id` bigint(20) DEFAULT NULL COMMENT '服務order_id',
  `china_birthday` varchar(50) DEFAULT NULL COMMENT '農(nóng)歷生日',
  `user_service_id` bigint(20) DEFAULT NULL COMMENT '服務id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3835 DEFAULT CHARSET=utf8 COMMENT='客戶歷史檔案';

2、插入相關數(shù)據(jù)

INSERT INTO `guns_uts_hs`.`cus_history`(`id`, `customer_id`, `name`, `sex`, `sex_name`, `birthday`, `birtydaytype`, `birtydaytype_name`, `age`, `nation`, `nation_name`, `religion`, `religion_name`, `phone`, `marriage`, `marriage_name`, `service_gradation`, `service_gradation_name`, `occupation`, `occupation_name`, `education`, `education_name`, `blood`, `blood_name`, `blood_rh`, `blood_rh_name`, `kind`, `kind_name`, `gradation`, `gradation_name`, `register_addr`, `contact_addr`, `address_backup`, `relations_backup`, `allowancetype_backup`, `medicaltype_backup`, `deformitytype_backup_json`, `deformitytype_backup`, `history_disease_backup_json`, `history_disease_backup`, `history_drug_backup_json`, `history_drug_backup`, `history_allergy_backup`, `history_operation_backup`, `history_bloodtrans_backup`, `history_injury_backup`, `history_familydisease_backup`, `history_geneticdisease_backup`, `isvalid`, `sts`, `create_id`, `create_time`, `modify_id`, `modify_time`, `remark`, `height`, `weight`, `identity`, `telephone`, `service_id`, `china_birthday`, `user_service_id`) VALUES (3832, 53543, 'Object', '01', '男', '2017-09-02', '02', '陽歷', '2', '01', '漢族', '03', '佛教', '18595921011', '01', '已婚', '1000', '輕度依賴', '01', '國家機關、黨群組織、企業(yè)、事業(yè)單位負責人', '01', '研究生', '01', 'A型', '01', '陰性', NULL, NULL, NULL, NULL, '河南省信陽市平橋區(qū)', '杭州市下城區(qū)西湖文化廣場', NULL, '[{\"contactnumber\":\"18598961010\",\"name\":\"小黑\",\"relationtype\":\"06\",\"relationtypeName\":\"弟弟\",\"remark\":\"0\"},{\"contactnumber\":\"18598971010\",\"name\":\"小白\",\"relationtype\":\"05\",\"relationtypeName\":\"哥哥\",\"remark\":\"0\"},{\"contactnumber\":\"18597981010\",\"name\":\"小明\",\"relationtype\":\"09\",\"relationtypeName\":\"兒子\",\"remark\":\"1\"}]', '{\"allowance\":\"01\",\"allowanceName\":\"國家定期撫恤補助優(yōu)撫對象\"}', '{\"isdefault\":\"1\",\"medicalvalue\":\"城鎮(zhèn)職工基本醫(yī)療保險\"}', NULL, '[]', NULL, '[{\"diseasename\":\"糖尿病\",\"isdefault\":\"1\"},{\"diseasename\":\"冠心病\",\"isdefault\":\"1\"},{\"diseasename\":\"慢性阻塞性肺病\",\"isdefault\":\"1\"}]', NULL, '[]', '[{\"drugname\":\"青霉素\",\"isdefault\":\"1\"},{\"drugname\":\"磺胺\",\"isdefault\":\"1\"}]', '[{\"operationdate\":\"2019-11-01\",\"operationname\":\"腸胃炎手術\"}]', '[{\"historyname\":\"二次輸血的\",\"modifyId\":225,\"transdate\":\"2019-11-01\"}]', '[{\"historyname\":\"破皮流血\",\"injurydate\":\"2019-11-01\"}]', '[{\"diseasename\":\"糖尿病\",\"isdefault\":\"1\",\"relationtype\":\"01\",\"relationtypeName\":\"父親\"},{\"diseasename\":\"腦卒中\(zhòng)",\"isdefault\":\"1\",\"relationtype\":\"01\",\"relationtypeName\":\"父親\"},{\"diseasename\":\"冠心病\",\"isdefault\":\"1\",\"relationtype\":\"02\",\"relationtypeName\":\"母親\"},{\"diseasename\":\"慢性阻塞性肺病\",\"isdefault\":\"1\",\"relationtype\":\"02\",\"relationtypeName\":\"母親\"},{\"diseasename\":\"慢性阻塞性肺病\",\"isdefault\":\"1\",\"relationtype\":\"03\",\"relationtypeName\":\"兄弟姐妹\"},{\"diseasename\":\"惡性腫瘤\",\"isdefault\":\"1\",\"relationtype\":\"03\",\"relationtypeName\":\"兄弟姐妹\"},{\"diseasename\":\"肝炎\",\"isdefault\":\"1\",\"relationtype\":\"04\",\"relationtypeName\":\"子女\"},{\"diseasename\":\"結核病\",\"isdefault\":\"1\",\"relationtype\":\"04\",\"relationtypeName\":\"子女\"}]', '[{\"createTime\":\"2019-11-02\",\"diseasename\":\"開心病\",\"index\":1}]', '1', '1', 225, '2019-11-02 11:31:15', 225, '2019-11-02 11:31:15', NULL, '', '', '000000201709020012', NULL, 254790, '2017年七月十二', 40558);

二、執(zhí)行json_extract()

1、使用json_extract()來處理數(shù)據(jù)

2、使用方式

  • $ . paramsName:取出一個key對應的value。
  • $ **.paramsName$ .[*].paramsName:取出json數(shù)組所有該字段key對應的value并以,的方式拼接在一起

MySql中json_extract函數(shù)的一個特殊之處

MySql自5.7之后開始支持json類型,相應的解析函數(shù)主要是json_extract(與操作符“->”等效)。

不過與其它數(shù)據(jù)庫的類似函數(shù)(如oradle的json_value)相比,當json的值是字符類型時,json_extract的結果略有不同。

在MySql中,是這樣的

而在Oracle中,是這樣的

可見,差別在于MySql的json_extract的返回值會帶上兩個雙引號。

而當json的值是數(shù)值型時,沒有差別。

為保持各種情況下的一致,在MySql中要解析json,還需再加上json_unquote函數(shù)以去掉雙引號:

json_unquote(json_extract())的等效操作符是“->>”。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • SQL查詢語句優(yōu)化的實用方法總結

    SQL查詢語句優(yōu)化的實用方法總結

    下面小編就為大家?guī)硪黄猄QL查詢語句優(yōu)化的實用方法總結。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • MySQL分表和分區(qū)的具體實現(xiàn)方法

    MySQL分表和分區(qū)的具體實現(xiàn)方法

    這篇文章主要介紹了MySQL分表和分區(qū)的具體實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • Ubuntu上安裝MySQL+問題處理+安全優(yōu)化

    Ubuntu上安裝MySQL+問題處理+安全優(yōu)化

    這篇文章主要匯總介紹了Ubuntu上安裝MySQL+問題處理+安全優(yōu)化的相關事項,非常的細致全面,有需要的小伙伴可以參考下
    2016-03-03
  • MySQL修改密碼不成功(無效)的解決方案

    MySQL修改密碼不成功(無效)的解決方案

    這篇文章主要介紹了MySQL修改密碼不成功(無效)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • MySQL中多個left?join?on關聯(lián)條件的順序說明

    MySQL中多個left?join?on關聯(lián)條件的順序說明

    這篇文章主要介紹了MySQL中多個left?join?on關聯(lián)條件的順序說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • MySQL高效導入多個.sql文件方法詳解

    MySQL高效導入多個.sql文件方法詳解

    MySQL有多種方法導入多個.sql文件,常用的有兩個命令:mysql和source,如何提高導入速度,在導入大的sql文件時,建議使用mysql命令
    2018-10-10
  • IDEA連接MySQL數(shù)據(jù)庫并執(zhí)行SQL語句使用數(shù)據(jù)圖文詳解

    IDEA連接MySQL數(shù)據(jù)庫并執(zhí)行SQL語句使用數(shù)據(jù)圖文詳解

    使用idea連接本地MySQL數(shù)據(jù)庫,就可以很方便的看到數(shù)據(jù)庫的內(nèi)容,還可以進行基本的增加,刪除,修改操作,下面這篇文章主要給大家介紹了關于IDEA連接MySQL數(shù)據(jù)庫并執(zhí)行SQL語句使用數(shù)據(jù)的相關資料,需要的朋友可以參考下
    2023-03-03
  • 一文詳解Mysql?insert也會發(fā)生死鎖嗎

    一文詳解Mysql?insert也會發(fā)生死鎖嗎

    死鎖的本質是資源競爭,批量插入如果順序不一致很容易導致死鎖,這篇文章主要給大家介紹了關于Mysql?insert是否也會發(fā)生死鎖的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • MySQL樂觀鎖和悲觀鎖具體實現(xiàn)

    MySQL樂觀鎖和悲觀鎖具體實現(xiàn)

    這篇文章主要介紹了MySQL樂觀鎖和悲觀鎖具體實現(xiàn),文章圍繞主題展開詳細的內(nèi)容戒殺,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 關于MySQL 優(yōu)化的100個的建議

    關于MySQL 優(yōu)化的100個的建議

    MYSQL 如此方便和穩(wěn)定,以至于我們在開發(fā) WEB 程序的時候很少想到它。即使想到優(yōu)化也是程序級別的,比如,不要寫過于消耗資源的 SQL 語句。但是除此之外,在整個系統(tǒng)上仍然有很多可以優(yōu)化的地方。
    2016-01-01

最新評論

无锡市| 翁牛特旗| 诸暨市| 尉氏县| 永兴县| 泗水县| 大冶市| 东海县| 桃江县| 马关县| 罗平县| 梨树县| 襄樊市| 永胜县| 定边县| 兴海县| 深州市| 浮山县| 安图县| 宁安市| 太康县| 全椒县| 珠海市| 偏关县| 晋中市| 永登县| 新和县| 鄢陵县| 穆棱市| 贵港市| 鞍山市| 金山区| 丘北县| 乌海市| 香格里拉县| 社会| 江口县| 丘北县| 福海县| 佛坪县| 北宁市|