w3resource

Creating Tables with JSON Columns in MySQL


Create a Table with a JSON Column

Write a MySQL query to create a new table called UserProfiles that includes a JSON column for storing user settings.

Solution:

-- Create the UserProfiles table with a JSON column for user settings.

-- Define the UserProfiles table with columns for user information and settings.
CREATE TABLE UserProfiles (
    -- UserID column as the primary key, uniquely identifying each user.
    UserID INT PRIMARY KEY,
    
    -- UserName column to store the name of the user.
    UserName VARCHAR(100),
    
    -- Settings column to store user-specific settings as a JSON object.
    -- The JSON data type allows flexible storage of structured data.
    Settings JSON
);

Explanation:

  • Purpose of the Query:
    • To define a new table structure that supports semi-structured data via a JSON column.
    • Demonstrates how to incorporate JSON columns during table creation.
  • Key Components:
    • CREATE TABLE UserProfiles : Initiates table creation.
    • Settings JSON : Defines a column to store JSON data.
  • Real-World Application:
    • Useful for applications requiring flexible storage for user preferences or configurations.

Notes:

  • The JSON data type ensures that only valid JSON is stored in the Settings column.
  • Consider adding additional constraints or indexes based on application needs.

For more Practice: Solve these Related Problems:

  • Write a MySQL query to create a table with a JSON column that has a default JSON value.
  • Write a MySQL query to create a table with a JSON column and a generated column based on its content.
  • Write a MySQL query to create a table with multiple JSON columns to store different semi-structured data types.
  • Write a MySQL query to create a table with a JSON column along with a check constraint to validate JSON format.

Go to:


PREV : Replace a Value in a JSON Document using JSON_REPLACE.
NEXT : Append Data to a JSON Array Using JSON_ARRAY_APPEND.

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.