How to Use JSON Data Field in MySQL Database

Websolutionstuff | Jun-04-2021 | Categories : PHP MySQL

Today, In this post we will see how to use json field in mysql database. In this tutorial i will give mysql json data type example and we will see how to store json data in mysql using php.

here we will see differents type of json functions with example and we will see how to insert json data into mysql using php.

here, we are creating category table.

CREATE TABLE `post` (
  `id` MEDIUMINT(8) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(200) NOT NULL,
  `category` JSON DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB;

 

Add JSON Data

JSON data can be passed in INSERT or UPDATE statements. For ex, our post category can be passed as an array (inside a string):

INSERT INTO `post` (`name`, `category`)
VALUES (
  'web developing',
  '["JavaScript", "PHP", "JSON"]'
);

 

JSON can also be created with these:

JSON_ARRAY()  function create arrays like this :

-- returns [1, 2, "abc"]:
SELECT JSON_ARRAY(1, 2, 'abc');

 

JSON_OBJECT() function create objects like this :

-- returns {"a": 1, "b": 2}:
SELECT JSON_OBJECT('a', 1, 'b', 2);

 

JSON_QUOTE() function quotes a string as a JSON value.

-- returns "[1, 2, \"abc\"]":
SELECT JSON_QUOTE('[1, 2, "abc"]');

 

JSON_TYPE() function allows you to check JSON value types. It should return OBJECT, ARRAY, a scalar type (INTEGER, BOOLEAN, etc), NULL, or an error

-- returns ARRAY:
SELECT JSON_TYPE('[1, 2, "abc"]');

-- returns OBJECT:
SELECT JSON_TYPE('{"a": 1, "b": 2}');

-- returns an error:
SELECT JSON_TYPE('{"a": 1, "b": 2');

 

JSON_VALID() function returns 1 if the JSON is valid or 0 otherwise.

-- returns 1:
SELECT JSON_TYPE('[1, 2, "abc"]');

-- returns 1:
SELECT JSON_TYPE('{"a": 1, "b": 2}');

-- returns 0:
SELECT JSON_TYPE('{"a": 1, "b": 2');

 

If you are insert an invalid JSON data then it will create an error and the whole record will not be inserted/updated.

 

Recommended Post
Featured Post
How to Format Number with 2 Decimal in PHP
How to Format Number with 2 De...

Hey there! If you've ever needed to work with numbers in PHP, you probably know how important it is to format them p...

Read More

Feb-26-2024

How to Create Pie Chart in Vue 3 using vue-chartjs
How to Create Pie Chart in Vue...

Hello, web developers! In this article, we'll see how to create a pie chart in vue 3 using vue-chartjs. Here, w...

Read More

Jul-29-2024

How To Import Large CSV File In Database Using Laravel 9
How To Import Large CSV File I...

In this article, we will see how to import a large CSV file into the database using laravel 9. Here, we will learn&...

Read More

Sep-15-2022

How to Load Iframe in jQuery onload Event
How to Load Iframe in jQuery o...

Hello, laravel web developers! In this article, we'll see how to load an iframe in jQuery on a load event. In jQuery...

Read More

Jun-21-2024