What Is the Data Type for JSON in MySQL?


Scott Campbell

JSON (JavaScript Object Notation) is a popular data format used for exchanging and storing data. MySQL, a widely used relational database management system, introduced native support for JSON in version 5.7.8. This means that MySQL has a specific data type for storing JSON data, called JSON.

JSON Data Type

The JSON data type allows you to store and manipulate JSON documents within your MySQL database. It provides several benefits, including improved performance and simplified data retrieval and manipulation.

When you define a column with the JSON data type, MySQL validates that the stored data is valid JSON format. It ensures that the stored values are well-formed and structured according to the standard JSON syntax.

Creating a Column with the JSON Data Type

To create a column with the JSON data type in MySQL, you can use the following syntax:

    CREATE TABLE my_table (
      json_data JSON

In this example, we define a column named “json_data” with the JSON data type. This column can store any valid JSON document.

Storing and Retrieving JSON Data

Once you have created a table with a column of the JSON data type, you can start storing and retrieving JSON documents.

To store a JSON document in a column of the table, you can use an INSERT statement:

    INSERT INTO my_table (id, json_data)
    VALUES (1, '{"name": "John", "age": 30}');

In this example, we insert a row into the “my_table” table with an ID of 1 and a corresponding “json_data” column containing a JSON document.

To retrieve the stored JSON data, you can use a SELECT statement:

    SELECT json_data
    FROM my_table
    WHERE id = 1;

The SELECT statement returns the JSON document stored in the “json_data” column for the row with an ID of 1.

Manipulating JSON Data

MySQL provides a set of functions and operators that allow you to manipulate JSON data within your queries. These functions enable you to extract specific values, update existing values, and perform various other operations on JSON documents.

For example, you can use the “JSON_EXTRACT” function to extract a specific value from a JSON document:

    SELECT JSON_EXTRACT(json_data, '$.name')
    FROM my_table
    WHERE id = 1;

This query extracts the value of the “name” key from the JSON document stored in the “json_data” column for the row with an ID of 1.


The JSON data type in MySQL provides a convenient way to store and manipulate JSON documents within your database. It offers improved performance and simplifies working with structured data. By using the appropriate functions and operators, you can easily retrieve and manipulate specific values within your JSON documents.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy