«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно хранить и извлекать данные JSON в таблицах MySQL?

Как эффективно хранить и извлекать данные JSON в таблицах MySQL?

Опубликовано 13 ноября 2024 г.
Просматривать:715

How to Efficiently Store and Retrieve JSON Data in MySQL Tables?

Создание и вставка объектов JSON в таблицы MySQL

При работе с данными JSON в MySQL вы можете столкнуться с проблемами, если не знакомы с этим процессом. Вот пошаговое руководство, которое поможет вам.

Создание таблицы с типом данных JSON

Чтобы эффективно хранить данные JSON, вам необходимо определить столбцы таблицы с типом данных JSON. Например:

CREATE TABLE `person` (
  `name` JSON DEFAULT NULL
);

Вставка данных JSON

Существует несколько способов вставки данных JSON в таблицу MySQL:

1. Вставка массивов JSON

Чтобы вставить массив значений, заключите их в квадратные скобки и используйте функцию JSON_CONTAINS в своем запросе:

INSERT INTO `person` (`name`)
VALUES ('["name1", "name2", "name3"]');

2. Вставка объектов JSON (ключ: пары значений)

Чтобы вставить отдельные объекты JSON, используйте фигурные скобки, чтобы заключить пары ключ-значение:

INSERT INTO person VALUES ('{"pid": 101, "name": "name1"}');
INSERT INTO person VALUES ('{"pid": 102, "name": "name2"}');

Выбор данных JSON

После вставки ваши данные JSON, вы можете получить определенные записи с помощью функции JSON_CONTAINS:

SELECT * FROM `person` WHERE JSON_CONTAINS(name, '["name1"]');

Примечание: Для этих функций требуется MySQL версии 5.7 или выше и механизм хранения InnoDB.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3