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

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

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

一、背景介紹

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

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

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

從MySQL 5.7.8版本開始,MySQL引入了對JSON數(shù)據(jù)類型的支持。MySQL可以存儲任意的JSON數(shù)據(jù),包括對象、數(shù)組、字符串等。并且MySQL還對JSON數(shù)據(jù)類型還提供了一系列的操作函數(shù)和運算符,以便于對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)建了一個名為 my_table 的表,包含一個名為 message 的JSON列。message列可以存儲任意的JSON數(shù)據(jù)。

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

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

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 列包含一個JSON對象。

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

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

以下是兩個

查詢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ù),以方便對JSON數(shù)據(jù)進(jìn)行查詢和操作。以下是一些常用的JSON數(shù)據(jù)操作函數(shù):

4.1 JSON_OBJECT

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

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

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

在這里插入圖片描述

4.2 JSON_ARRAY

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

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

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

在這里插入圖片描述

4.3 JSON_EXTRACT

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

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

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

在這里插入圖片描述

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

本文完結(jié)!

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

相關(guān)文章

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

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

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

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

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

    MYSQL中文亂碼問題的解決方案

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

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

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

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

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

    詳解Mysql命令大全(推薦)

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

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

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

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

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

    mysql的udf編程之非阻塞超時重傳

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

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

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

最新評論

成都市| 上杭县| 外汇| 新沂市| 林周县| 巫溪县| 曲沃县| 三江| 吴旗县| 乐山市| 琼海市| 延川县| 榆中县| 云阳县| 乌恰县| 淮南市| 东乡族自治县| 灵武市| 连南| 长宁区| 富源县| 蒲江县| 齐河县| 东方市| 杂多县| 和平县| 乐陵市| 德昌县| 谢通门县| 绥芬河市| 四平市| 南京市| 和田县| 巴林右旗| 安阳县| 神农架林区| 綦江县| 家居| 安塞县| 留坝县| 铜鼓县|