Konwersja JSON do MariaDB
Upuść plik JSON, aby dostać skrypt MariaDB z instrukcjami CREATE TABLE i INSERT. Każda kolumna dostaje typ, a każda poprawka jest wymieniona z wierszem i kolumną.
4 wiersze przekonwertowane, 2 poprawki, brak odrzuconych
| Wiersz | ||||||
|---|---|---|---|---|---|---|
| 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;
Poprawki
- Zachowano zera wiodące w "pedido": 000481 pozostaje 000481, zapisane jako tekst.
- "pagado" zawiera słowa tak i nie (sí), zapisane jako wartości logiczne.
Plik jest konwertowany na tym komputerze i nigdy nie jest wysyłany.
Inne przykłady:
Z JSON do MariaDB, kolumna po kolumnie
Przykład powyżej, pedidos_2024.json, tak jak IntoSQL zapisuje go dla MariaDB: co zawiera każda kolumna w pliku, jaki dostaje typ i jak jej pierwsza wartość trafia do skryptu.
| W pliku | Pierwsza wartość | Kolumna | Typ w MariaDB | W skrypcie |
|---|---|---|---|---|
| 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 |
Załaduj skrypt do MariaDB
Pobierasz zwykły plik .sql. Uruchom go narzędziami MariaDB.
Z terminala
mariadb --default-character-set=utf8mb4 mydb < pedidos_2024.mariadb.sqlSkrypt sam ustawia utf8mb4; flaga sprawia, że klient wysyła go tak samo, więc polskie znaki docierają bez zmian.
Z narzędzia bazodanowego
W HeidiSQL lub DBeaver otwórz skrypt i uruchom go.
Bez skryptuPro
IntoSQL Pro ładuje plik prosto do MariaDB z aplikacji na komputer lub wiersza poleceń, bez pisania skryptu.
intosql load pedidos_2024.json --into mariadb://user@localhost/mydbCo warto wiedzieć o plikach JSON i MariaDB
Co IntoSQL odczytuje w plikach JSON
- Plik może być tablicą obiektów, obiektem, który trzyma tę tablicę pod kluczem takim jak data, albo jednym obiektem na wiersz (NDJSON).
- Każdy klucz staje się kolumną. Obiekty i tablice wewnątrz wartości są zachowywane jako tekst JSON.
- Liczby zachowują dokładne cyfry, a daty ISO 8601 stają się datami lub znacznikami czasu.
Co warto wiedzieć o MariaDB
- Wartości tak i nie stają się tinyint(1). Tekst do 255 znaków to varchar; dłuższy tekst to text, mediumtext lub longtext, zależnie od rozmiaru.
- Skrypt używa utf8mb4 i ustawia tryb SQL, więc znaki diakrytyczne, emoji, ukośniki wsteczne i podziały wierszy ładują się tak, jak zostały zapisane.
- Typ datetime w MariaDB nie zapisuje strefy czasowej.
Jak każdy rodzaj wartości jest zapisywany w MariaDB
| Wartość | MariaDB |
|---|---|
| Tak i nie | tinyint(1) |
| Liczby całkowite | int |
| Duże liczby całkowite | bigint |
| Liczby dziesiętne | decimal(p,s)double |
| Liczby zmiennoprzecinkowe | double |
| Daty | date |
| Godziny | time(6)time |
| Daty z godziną | datetime(6)datetime |
| Daty z godziną i przesunięciem | datetime(6)datetime |
| Tekst | varchar(n)textmediumtextlongtext |
Pytania o JSON do MariaDB
Nie ma tu odpowiedzi? Napisz do nas przez stronę kontaktu, a odpowie człowiek. Strona kontaktu
Jak przekonwertować JSON do MariaDB?
Upuść plik na konwerter u góry tej strony. Znajduje nagłówek, odczytuje każdą wartość i zapisuje skrypt MariaDB, wymieniając każdą poprawkę. Pobierz skrypt i uruchom go za pomocą the mariadb client.
Jaki kształt musi mieć plik JSON?
Tablica obiektów, obiekt zawierający taką tablicę pod kluczem, na przykład data, albo jeden obiekt w każdym wierszu (NDJSON). Każdy klucz staje się kolumną.
Jakich typów MariaDB używa?
Wartości tak i nie stają się tinyint(1), liczby całkowite int, liczby dziesiętne decimal(p,s), daty date, daty z godziną datetime(6), a tekst varchar(n). Rozmiary wynikają z najdłuższej wartości w każdej kolumnie.
Czy zachowuje zera wiodące w MariaDB?
Tak. Kod taki jak 000481 pozostaje tekstem, więc MariaDB przechowuje go jako varchar(8), a skrypt zapisuje go jako '000481'.
Czy może załadować dane do MariaDB bez skryptu?
Tak, z IntoSQL Pro. Aplikacja na komputer i wiersz poleceń łączą się z MariaDB i ładują wiersze bezpośrednio, najpierw tworząc tabelę.
Jak duży może być plik JSON?
NDJSON, jeden obiekt w wierszu, jest odczytywany strumieniowo, więc w przeglądarce działają pliki o wielkości kilku gigabajtów. Dokument JSON jest odczytywany w całości, więc jego limitem jest pamięć, jaką przeglądarka daje tej stronie. Aplikacja na komputer i wiersz poleceń przyjmują pliki dowolnej wielkości.