What Is JSON Data Type in MySQL?


Heather Bennett

What Is JSON Data Type in MySQL?

JSON (JavaScript Object Notation) is a popular data interchange format that is widely used for storing and transmitting data. It provides a lightweight and human-readable way to represent structured data. In MySQL, the JSON data type allows you to store and manipulate JSON documents efficiently.

Why Use JSON Data Type?

The JSON data type in MySQL offers several advantages:

  • Simplicity: JSON provides a simple and intuitive way to structure data.
  • Flexibility: With the JSON data type, you can store documents of varying structures within a single column.
  • Efficiency: MySQL offers optimized functions and operators to work with JSON data, allowing for efficient querying and manipulation.

Working with JSON Data Type

To use the JSON data type in MySQL, you need to define a column with the JSON keyword. For example:

CREATE TABLE products (
    name VARCHAR(50),
    details JSON

In the above example, the details column is defined as a JSON data type. This column can now store valid JSON documents.

Inserting Data into a JSON Column

You can insert data into a JSON column using the INSERT INTO statement along with the VALUES clause. Here’s an example:

INSERT INTO products (id, name, details)
VALUES (1, 'Product A', '{"price": 10, "quantity": 100}');

In the above example, we insert a JSON document representing the details of a product into the details column.

Querying JSON Data

MySQL provides a set of functions and operators to query JSON data. Some commonly used functions include:

  • JSON_EXTRACT(): Extracts a value from a JSON document.
  • JSON_CONTAINS(): Checks if a specified value is present in a JSON document.
  • JSON_ARRAY(): Creates a JSON array from multiple values.

Updating JSON Data

To update JSON data, you can use the UPDATE statement along with the appropriate functions. For example:

UPDATE products
SET details = JSON_SET(details, '$.price', 20)
WHERE id = 1;

The above query updates the value of the “price” key within the “details” column of the product with an ID of 1.


The JSON data type in MySQL provides a convenient and efficient way to store and manipulate structured data. It offers simplicity, flexibility, and optimized operations for working with JSON documents. By leveraging this powerful feature, you can enhance your database applications with rich and dynamic data capabilities.

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

Privacy Policy