Конвертация JSON в MariaDB
Перетащите файл JSON, чтобы получить скрипт для MariaDB с командами CREATE TABLE и INSERT. Каждый столбец получает тип, а каждое исправление указано со строкой и столбцом.
4 строки конвертированы, 2 исправления, ни одна не отклонена
| Строка | ||||||
|---|---|---|---|---|---|---|
| 2 | 000481 | Peña Muñoz | 2024-02-03T10:15:00Z | 1234.5 | true | |
| 3 | 000482 | José Ángel Ruiz | 2024-02-15T16:40:00Z | 99.9 | false | Entrega en la tarde |
| 4 | 000483 | Zoë Ortíz | 2024-02-29T09:05:00Z | 12 | true | |
| 5 | 000484 | Ñuño Castañeda | 2024-03-11T13:30:00Z | 980.75 | sí | Factura con "RFC" |
-- Written by IntoSQL for MariaDB.
SET NAMES utf8mb4;
SET SESSION sql_mode = REPLACE(@@sql_mode, 'NO_BACKSLASH_ESCAPES', '');
START TRANSACTION;
CREATE TABLE pedidos_2024 (
pedido varchar(8) NOT NULL,
cliente varchar(16) NOT NULL,
fecha datetime NOT NULL,
total decimal(6,2) NOT NULL,
pagado tinyint(1) NOT NULL,
notas varchar(32)
) DEFAULT CHARSET=utf8mb4;
INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00', 1234.5, TRUE, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00', 99.9, FALSE, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00', 12, TRUE, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00', 980.75, TRUE, 'Factura con "RFC"');
COMMIT;
Исправления
- В "pedido" сохранены ведущие нули: 000481 остается 000481 и хранится как текст.
- "pagado" содержит слова да и нет (sí), они сохранены как логические значения.
Файл конвертируется на этом компьютере и никуда не загружается.
Другие примеры:
Из JSON в MariaDB, столбец за столбцом
Пример выше, pedidos_2024.json, в том виде, в котором IntoSQL записывает его для MariaDB: что хранит каждый столбец в файле, какой тип он получает и как его первое значение попадает в скрипт.
| В файле | Первое значение | Столбец | Тип в MariaDB | В скрипте |
|---|---|---|---|---|
| pedido | 000481 | pedido | varchar(8) | '000481' |
| cliente | Peña Muñoz | cliente | varchar(16) | 'Peña Muñoz' |
| fecha | 2024-02-03T10:15:00Z | fecha | datetime | '2024-02-03 10:15:00' |
| total | 1234.5 | total | decimal(6,2) | 1234.5 |
| pagado | true | pagado | tinyint(1) | TRUE |
| notas | - | notas | varchar(32) | NULL |
Загрузите скрипт в MariaDB
Вы скачиваете обычный файл .sql. Запустите его штатными средствами MariaDB.
Из терминала
mariadb --default-character-set=utf8mb4 mydb < pedidos_2024.mariadb.sqlСкрипт сам задает utf8mb4; флаг заставляет клиент передавать данные так же, поэтому кириллица и другие символы доходят без искажений.
Из клиента базы данных
В HeidiSQL или DBeaver откройте скрипт и выполните его.
Без скриптаPro
IntoSQL Pro загружает файл прямо в MariaDB из приложения для компьютера или командной строки, без написания скрипта.
intosql load pedidos_2024.json --into mariadb://user@localhost/mydbЧто нужно знать о файлах JSON и MariaDB
Что IntoSQL читает в файлах JSON
- Файл может быть массивом объектов, объектом, который хранит этот массив под ключом вроде data, или одним объектом на строку (NDJSON).
- Каждый ключ становится столбцом. Объекты и массивы внутри значения сохраняются как текст JSON.
- Числа сохраняют все свои цифры, а даты ISO 8601 становятся датами или метками времени.
Что нужно знать о MariaDB
- Значения да и нет становятся tinyint(1). Текст до 255 символов хранится как varchar; более длинный текст как text, mediumtext или longtext в зависимости от размера.
- Скрипт использует utf8mb4 и задает режим SQL, поэтому диакритика, эмодзи, обратные слеши и переносы строк загружаются так, как написаны.
- Тип datetime в MariaDB не хранит часовой пояс.
Как каждый вид значений хранится в MariaDB
| Значение | MariaDB |
|---|---|
| Да и нет | tinyint(1) |
| Целые числа | int |
| Большие целые числа | bigint |
| Десятичные числа | decimal(p,s)double |
| Числа с плавающей точкой | double |
| Даты | date |
| Время суток | time(6)time |
| Даты со временем | datetime(6)datetime |
| Даты со временем и смещением | datetime(6)datetime |
| Текст | varchar(n)textmediumtextlongtext |
Вопросы о JSON в MariaDB
Нет ответа на ваш вопрос? Напишите нам через страницу контактов, и вам ответит человек. Страница контактов
Как конвертировать JSON в MariaDB?
Перетащите файл в конвертер в верхней части этой страницы. Он находит заголовок, читает каждое значение и записывает скрипт для MariaDB, перечисляя каждое исправление. Скачайте скрипт и запустите его через the mariadb client.
Какой структуры должен быть файл JSON?
Массив объектов, объект с таким массивом под ключом вроде data или по одному объекту в строке (NDJSON). Каждый ключ становится столбцом.
Какие типы MariaDB используются?
Значения да и нет становятся tinyint(1), целые числа int, дробные decimal(p,s), даты date, даты со временем datetime(6), а текст varchar(n). Размеры берутся по самому длинному значению в каждом столбце.
Сохраняются ли ведущие нули в MariaDB?
Да. Код вроде 000481 остается текстом, поэтому MariaDB хранит его как varchar(8), а скрипт записывает как '000481'.
Можно ли загрузить данные в MariaDB без скрипта?
Да, с IntoSQL Pro. Приложение для компьютера и командная строка подключаются к MariaDB и загружают строки напрямую, сначала создав таблицу.
Насколько большим может быть файл JSON?
NDJSON, по одному объекту в строке, читается потоково, поэтому в браузере работают файлы в несколько гигабайт. Документ JSON читается целиком, поэтому его предел - память, которую браузер выделяет этой странице. Приложение для компьютера и командная строка принимают файлы любого размера.