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

MySQL查詢和篩選存儲(chǔ)的JSON數(shù)據(jù)的操作方法

 更新時(shí)間:2024年01月08日 16:34:02   作者:No8g攻城獅  
MySQL是常用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),為了支持非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和查詢,MySQL引入了對(duì)JSON數(shù)據(jù)類型的支持,JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,在現(xiàn)代應(yīng)用程序中得到了廣泛應(yīng)用,處理和存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)變得越來(lái)越重要,本文給大家介紹mysql查詢JSON數(shù)據(jù)的相關(guān)知識(shí),一起看看吧

一、背景介紹

JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,在現(xiàn)代應(yīng)用程序中得到了廣泛的應(yīng)用。處理和存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)變得越來(lái)越重要。MySQL 是一種常用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),為了支持非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)和查詢,于是 MySQL引入了對(duì)JSON數(shù)據(jù)類型的支持。

MySQL從5.7.8版本開(kāi)始添加了對(duì)JSON的支持,使得我們可以在MySQL數(shù)據(jù)庫(kù)中存儲(chǔ)和查詢JSON格式的數(shù)據(jù)。本文將介紹如何使用MySQL查詢和篩選存儲(chǔ)的JSON數(shù)據(jù),并提供相應(yīng)的代碼示例。

二、支持的JSON數(shù)據(jù)類型

從MySQL 5.7.8版本開(kāi)始,MySQL引入了對(duì)JSON數(shù)據(jù)類型的支持。MySQL可以存儲(chǔ)任意的JSON數(shù)據(jù),包括對(duì)象、數(shù)組、字符串等。并且MySQL還對(duì)JSON數(shù)據(jù)類型還提供了一系列的操作函數(shù)和運(yùn)算符,以便于對(duì)JSON數(shù)據(jù)進(jìn)行查詢和操作。

三、基礎(chǔ)數(shù)據(jù)

3.1 創(chuàng)建表

DROP TABLE IF EXISTS `my_table`;
CREATE TABLE `my_table`  (
  `id` int NOT NULL,
  `message` json NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;

上述示例創(chuàng)建了一個(gè)名為 my_table 的表,包含一個(gè)名為 message 的JSON列。message列可以存儲(chǔ)任意的JSON數(shù)據(jù)。

3.2 插入 JSON 數(shù)據(jù)

要在JSON列中插入數(shù)據(jù),可以使用JSON函數(shù)將JSON字符串轉(zhuǎn)換為JSON數(shù)據(jù)類型。以下是一個(gè)示例:

INSERT INTO `my_table` (`id`, `message`) VALUES (1, '{\"age\": 30, \"name\": \"John\"}');
INSERT INTO `my_table` (`id`, `message`) VALUES (2, '{\"age\": 40, \"name\": \"Mary\"}');
INSERT INTO `my_table` (`id`, `message`) VALUES (3, '{\"age\": 50, \"name\": \"Tom\"}');
INSERT INTO `my_table` (`id`, `message`) VALUES (4, '{\"age\": 60, \"name\": \"Jermy\"}');

上述示例在my_table表中插入了4條記錄,其中 message 列包含一個(gè)JSON對(duì)象。

3.3 查詢 JSON 數(shù)據(jù)

可以使用->或者->>運(yùn)算符來(lái)查詢JSON數(shù)據(jù)。->運(yùn)算符返回JSON對(duì)象的屬性值,->>運(yùn)算符返回屬性值的字符串表示。

以下是兩個(gè)

查詢JSON數(shù)據(jù)的示例1:

SELECT message->'$.name' AS name FROM my_table;

結(jié)果如下:

在這里插入圖片描述

查詢示例2:

SELECT * FROM my_table WHERE JSON_EXTRACT(message, '$.age') > 40

結(jié)果如下:

在這里插入圖片描述

四、操作函數(shù)

MySQL提供了一系列的JSON數(shù)據(jù)操作函數(shù),以方便對(duì)JSON數(shù)據(jù)進(jìn)行查詢和操作。以下是一些常用的JSON數(shù)據(jù)操作函數(shù):

4.1 JSON_OBJECT

JSON_OBJECT函數(shù)用于創(chuàng)建一個(gè)JSON對(duì)象。以下是一個(gè)示例:

SELECT JSON_OBJECT('name', 'John', 'age', 30) AS message;

上述示例創(chuàng)建了一個(gè)名為 message 的JSON對(duì)象,包含name和age屬性。

在這里插入圖片描述

4.2 JSON_ARRAY

JSON_ARRAY函數(shù)用于創(chuàng)建一個(gè)JSON數(shù)組。以下是一個(gè)示例:

SELECT JSON_ARRAY('apple', 'banana', 'orange') AS fruits;

上述示例創(chuàng)建了一個(gè)名為fruits的JSON數(shù)組,包含三個(gè)元素。

在這里插入圖片描述

4.3 JSON_EXTRACT

JSON_EXTRACT函數(shù)用于提取JSON數(shù)據(jù)中的值。以下是一個(gè)示例:

SELECT JSON_EXTRACT('{"name": "John", "age": 30}', '$.name') AS name;

上述示例從JSON數(shù)據(jù)中提取了name屬性的值。

在這里插入圖片描述

以上只是最基本的用法,關(guān)于MySQL操作JSON數(shù)據(jù)類型的函數(shù)還有很多高級(jí)用法,等用到的時(shí)候再學(xué)。

本文完結(jié)!

到此這篇關(guān)于MySQL如何查詢和篩選存儲(chǔ)的JSON數(shù)據(jù)的文章就介紹到這了,更多相關(guān)mysql查詢JSON數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql查詢上下級(jí)機(jī)構(gòu)的方法實(shí)例

    mysql查詢上下級(jí)機(jī)構(gòu)的方法實(shí)例

    大家應(yīng)該都知道表里有上下級(jí)機(jī)構(gòu)的,下面這篇文章主要給大家介紹了關(guān)于mysql查詢上下級(jí)機(jī)構(gòu)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 詳細(xì)講述MySQL中的子查詢操作

    詳細(xì)講述MySQL中的子查詢操作

    這篇文章主要介紹了詳細(xì)講述MySQL中的子查詢操作,文中也給出了具體的代碼實(shí)例講解,需要的朋友可以參考下
    2015-04-04
  • MYSQL中文亂碼問(wèn)題的解決方案

    MYSQL中文亂碼問(wèn)題的解決方案

    mysql是我們項(xiàng)目中非常常用的數(shù)據(jù)型數(shù)據(jù)庫(kù),但是因?yàn)槲覀冃枰跀?shù)據(jù)庫(kù)保存中文字符,所以經(jīng)常遇到數(shù)據(jù)庫(kù)亂碼情況這篇文章主要給大家介紹了關(guān)于MYSQL中文亂碼問(wèn)題的解決方案,需要的朋友可以參考下
    2022-06-06
  • CentOS 7搭建MySQL主從復(fù)制集群的全過(guò)程

    CentOS 7搭建MySQL主從復(fù)制集群的全過(guò)程

    在實(shí)際生產(chǎn)環(huán)境中,單個(gè) MySQL 實(shí)例存在單點(diǎn)故障和性能瓶頸,本文將以 CentOS 7 為例,手把手教你搭建一套標(biāo)準(zhǔn)的 MySQL 主從復(fù)制集群(Master-Slave Replication),實(shí)現(xiàn)讀寫(xiě)分離與數(shù)據(jù)熱備,需要的朋友可以參考下
    2026-05-05
  • MySQL主從復(fù)制的原理圖解及Java語(yǔ)言示例使用

    MySQL主從復(fù)制的原理圖解及Java語(yǔ)言示例使用

    這篇文章主要介紹了MySQL的主從復(fù)制原理詳細(xì)分析,讀寫(xiě)分離是基于主從復(fù)制來(lái)實(shí)現(xiàn)的。文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 詳解Mysql命令大全(推薦)

    詳解Mysql命令大全(推薦)

    本篇文章詳細(xì)的介紹了Mysql命令,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),一般中小型網(wǎng)站的開(kāi)發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。
    2016-11-11
  • MYSQL建立外鍵失敗幾種情況記錄Can''t create table不能創(chuàng)建表

    MYSQL建立外鍵失敗幾種情況記錄Can''t create table不能創(chuàng)建表

    當(dāng)你試圖在mysql中創(chuàng)建一個(gè)外鍵的時(shí)候,這個(gè)出錯(cuò)會(huì)經(jīng)常發(fā)生,這是非常令人沮喪的。
    2011-08-08
  • 最全的mysql 5.7.13 安裝配置方法圖文教程(linux) 強(qiáng)烈推薦!

    最全的mysql 5.7.13 安裝配置方法圖文教程(linux) 強(qiáng)烈推薦!

    這篇文章主要為大家詳細(xì)介紹了linux下mysql 5.7.13 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下
    2016-08-08
  • mysql的udf編程之非阻塞超時(shí)重傳

    mysql的udf編程之非阻塞超時(shí)重傳

    這篇文章主要介紹了mysql udf編程的非阻塞超時(shí)重傳示例,需要的朋友可以參考下
    2014-03-03
  • MySQL之權(quán)限以及設(shè)計(jì)數(shù)據(jù)庫(kù)案例講解

    MySQL之權(quán)限以及設(shè)計(jì)數(shù)據(jù)庫(kù)案例講解

    這篇文章主要介紹了MySQL之權(quán)限以及設(shè)計(jì)數(shù)據(jù)庫(kù)案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評(píng)論

桦甸市| 龙陵县| 阿图什市| 东莞市| 鄂托克前旗| 军事| 潍坊市| 策勒县| 和平县| 通海县| 抚顺县| 安溪县| 郸城县| 常宁市| 盐津县| 洛宁县| 莒南县| 随州市| 岱山县| 突泉县| 温宿县| 德州市| 尚义县| 柯坪县| 西峡县| 抚松县| 岗巴县| 年辖:市辖区| 响水县| 舒城县| 和田市| 亳州市| 晴隆县| 古交市| 名山县| 霍林郭勒市| 琼结县| 凤台县| 江北区| 开江县| 唐海县|