Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions mysql-queries/mysql-store-json/creating-table-example.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
CREATE TABLE Departments (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
info JSON
);
14 changes: 14 additions & 0 deletions mysql-queries/mysql-store-json/inserting-json-data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
INSERT INTO Departments (id, name, info) VALUES
(1, 'Computer Science', '{"head": "Dr. Smith", "location": "Building 1", "courses": ["Algorithms", "Data Structures"]}');

INSERT INTO Departments (id, name, info) VALUES
(2, 'Mathematics', JSON_OBJECT('head', 'Dr. Johnson', 'location', 'Building 2', 'courses', JSON_ARRAY('Calculus', 'Linear Algebra')));

INSERT INTO Departments (id, name, info) VALUES
(3, 'Physics', JSON_OBJECT('head', 'Dr. Clark', 'location', 'Building 3', 'courses', JSON_ARRAY('Quantum Mechanics', 'Thermodynamics')));

SET @head = 'Dr. Miller';
SET @location = 'Building 4';
SET @courses = JSON_ARRAY('Classical Mechanics', 'Electromagnetism');
INSERT INTO Departments (id, name, info) VALUES
(4, 'Engineering', JSON_OBJECT('head', @head, 'location', @location, 'courses', @courses));
5 changes: 5 additions & 0 deletions mysql-queries/mysql-store-json/retrieving-json-data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
SELECT id, name, info FROM Departments;

SELECT id, name, JSON_EXTRACT(info, '$.head') AS head FROM Departments;

SELECT id, name, info->'$.head' AS head FROM Departments;
29 changes: 29 additions & 0 deletions mysql-queries/mysql-store-json/updating-json-data.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
UPDATE Departments
SET info = JSON_SET(info, '$.head', 'Dr. Parker')
WHERE id = 1;
SELECT id, name, info FROM Departments WHERE id = 1;

UPDATE Departments
SET info = JSON_REPLACE(info, '$.location', 'Building 2A')
WHERE id = 2;
SELECT id, name, info FROM Departments WHERE id = 2;

UPDATE Departments
SET info = JSON_REPLACE(info, '$.dean', 'Dr. Brown')
WHERE id = 2;
SELECT id, name, info FROM Departments WHERE id = 2;

UPDATE Departments
SET info = JSON_SET(info, '$.dean', 'Dr. Brown')
WHERE id = 2;
SELECT id, name, info FROM Departments WHERE id = 2;

UPDATE Departments
SET info = JSON_REMOVE(info, '$.courses')
WHERE id = 3;
SELECT id, name, info FROM Departments WHERE id = 3;

UPDATE Departments
SET info = JSON_ARRAY_APPEND(info, '$.courses', 'Artificial Intelligence')
WHERE id = 4;
SELECT id, name, info FROM Departments WHERE id = 4;