Конвертация JSON в SQLite
Перетащите файл JSON, чтобы получить скрипт для SQLite с командами 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 SQLite.
BEGIN;
CREATE TABLE pedidos_2024 (
pedido TEXT NOT NULL,
cliente TEXT NOT NULL,
fecha DATETIME NOT NULL,
total NUMERIC(6,2) NOT NULL,
pagado BOOLEAN NOT NULL,
notas TEXT
);
INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, 1, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, 0, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, 1, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, 1, 'Factura con "RFC"');
COMMIT;
Исправления
- В "pedido" сохранены ведущие нули: 000481 остается 000481 и хранится как текст.
- "pagado" содержит слова да и нет (sí), они сохранены как логические значения.
Файл конвертируется на этом компьютере и никуда не загружается.
Другие примеры:
Из JSON в SQLite, столбец за столбцом
Пример выше, pedidos_2024.json, в том виде, в котором IntoSQL записывает его для SQLite: что хранит каждый столбец в файле, какой тип он получает и как его первое значение попадает в скрипт.
| В файле | Первое значение | Столбец | Тип в SQLite | В скрипте |
|---|---|---|---|---|
| pedido | 000481 | pedido | TEXT | '000481' |
| cliente | Peña Muñoz | cliente | TEXT | 'Peña Muñoz' |
| fecha | 2024-02-03T10:15:00Z | fecha | DATETIME | '2024-02-03 10:15:00+00:00' |
| total | 1234.5 | total | NUMERIC(6,2) | 1234.5 |
| pagado | true | pagado | BOOLEAN | 1 |
| notas | - | notas | TEXT | NULL |
Загрузите скрипт в SQLite
Вы скачиваете обычный файл .sql. Запустите его штатными средствами SQLite.
Из терминала
sqlite3 pedidos_2024.db < pedidos_2024.sqlite.sqlФайл базы данных создается, если его нет. Конвертер также скачивает готовую базу .sqlite, вообще без команд.
Из клиента базы данных
В DB Browser for SQLite выберите Execute SQL, откройте скрипт и выполните его.
Без скрипта
Командная строка загружает файл прямо в базу SQLite, без написания скрипта. Это бесплатно.
intosql load pedidos_2024.json --into pedidos_2024.dbЧто нужно знать о файлах JSON и SQLite
Что IntoSQL читает в файлах JSON
- Файл может быть массивом объектов, объектом, который хранит этот массив под ключом вроде data, или одним объектом на строку (NDJSON).
- Каждый ключ становится столбцом. Объекты и массивы внутри значения сохраняются как текст JSON.
- Числа сохраняют все свои цифры, а даты ISO 8601 становятся датами или метками времени.
Что нужно знать о SQLite
- Каждый столбец получает тип, нужный его значениям, например INTEGER, NUMERIC, TEXT, DATE или BOOLEAN; да и нет хранятся как 1 и 0.
- Десятичные числа длиннее 15 цифр остаются TEXT, чтобы ни одна цифра не потерялась при округлении.
- Скачайте скрипт SQLite или готовую базу данных .sqlite, собранную в вашем браузере.
Как каждый вид значений хранится в SQLite
| Значение | SQLite |
|---|---|
| Да и нет | BOOLEAN |
| Целые числа | INTEGER |
| Большие целые числа | INTEGER |
| Десятичные числа | NUMERIC(p,s)TEXT |
| Числа с плавающей точкой | REAL |
| Даты | DATE |
| Время суток | TIME |
| Даты со временем | DATETIME |
| Даты со временем и смещением | DATETIME |
| Текст | TEXT |
Вопросы о JSON в SQLite
Нет ответа на ваш вопрос? Напишите нам через страницу контактов, и вам ответит человек. Страница контактов
Как конвертировать JSON в SQLite?
Перетащите файл в конвертер в верхней части этой страницы. Он находит заголовок, читает каждое значение и записывает скрипт для SQLite, перечисляя каждое исправление. Скачайте скрипт и запустите его через sqlite3.
Какой структуры должен быть файл JSON?
Массив объектов, объект с таким массивом под ключом вроде data или по одному объекту в строке (NDJSON). Каждый ключ становится столбцом.
Какие типы SQLite используются?
Значения да и нет становятся BOOLEAN, целые числа INTEGER, дробные NUMERIC(p,s), даты DATE, даты со временем DATETIME, а текст TEXT. Размеры берутся по самому длинному значению в каждом столбце.
Сохраняются ли ведущие нули в SQLite?
Да. Код вроде 000481 остается текстом, поэтому SQLite хранит его как TEXT, а скрипт записывает как '000481'.
Можно ли загрузить данные в SQLite без скрипта?
Да, бесплатно: intosql load создает файл базы SQLite и загружает в него строки. Конвертер на этой странице также скачивает готовую базу .sqlite.
Насколько большим может быть файл JSON?
NDJSON, по одному объекту в строке, читается потоково, поэтому в браузере работают файлы в несколько гигабайт. Документ JSON читается целиком, поэтому его предел - память, которую браузер выделяет этой странице. Приложение для компьютера и командная строка принимают файлы любого размера.