JSON in MariaDB umwandeln
Leg deine JSON-Datei ab und erhalte ein MariaDB-Skript mit CREATE TABLE- und INSERT-Anweisungen. Jede Spalte bekommt einen Typ, und jede Korrektur wird mit Zeile und Spalte aufgeführt.
4 Zeilen konvertiert, 2 Korrekturen, keine abgelehnt
| Zeile | ||||||
|---|---|---|---|---|---|---|
| 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;
Korrekturen
- Führende Nullen in "pedido" behalten: 000481 bleibt 000481, gespeichert als Text.
- "pagado" enthält Ja- und Nein-Wörter (sí), gespeichert als Boolean.
Deine Datei wird auf diesem Computer umgewandelt und nie hochgeladen.
Weitere Beispiele:
Von JSON zu MariaDB, Spalte für Spalte
Das Beispiel oben, pedidos_2024.json, so wie IntoSQL es für MariaDB schreibt: was jede Spalte in der Datei enthält, welchen Typ sie bekommt und wie ihr erster Wert im Skript landet.
| In der Datei | Erster Wert | Spalte | Typ in MariaDB | Im Skript |
|---|---|---|---|---|
| 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 |
Das Skript in MariaDB laden
Der Download ist eine einfache .sql-Datei. Führe sie mit den Werkzeugen von MariaDB aus.
Aus einem Terminal
mariadb --default-character-set=utf8mb4 mydb < pedidos_2024.mariadb.sqlDas Skript setzt utf8mb4 selbst; das Flag sorgt dafür, dass der Client genauso sendet, damit Akzente unverändert ankommen.
Aus einem Datenbank-Tool
Öffne das Skript in HeidiSQL oder DBeaver und führe es aus.
Ohne SkriptPro
IntoSQL Pro lädt die Datei aus der Desktop-App oder der Kommandozeile direkt in MariaDB, ohne ein Skript zu schreiben.
intosql load pedidos_2024.json --into mariadb://user@localhost/mydbWas du über JSON-Dateien und MariaDB wissen solltest
Was IntoSQL in JSON-Dateien liest
- Die Datei kann ein Array von Objekten sein, ein Objekt, das dieses Array unter einem Schlüssel wie data enthält, oder ein Objekt pro Zeile (NDJSON).
- Jeder Schlüssel wird zu einer Spalte. Objekte und Arrays innerhalb eines Werts bleiben als JSON-Text erhalten.
- Zahlen behalten ihre exakten Ziffern, und ISO-8601-Datumswerte werden zu Datums- oder Zeitstempelwerten.
Was du über MariaDB wissen solltest
- Ja-und-nein-Werte werden zu tinyint(1). Text bis 255 Zeichen ist varchar; längerer Text ist je nach Größe text, mediumtext oder longtext.
- Das Skript nutzt utf8mb4 und setzt den SQL-Modus, sodass Akzente, Emoji, Backslashes und Zeilenumbrüche so geladen werden, wie sie geschrieben sind.
- Der datetime-Typ von MariaDB speichert keine Zeitzone.
Wie jede Art von Wert in MariaDB gespeichert wird
| Wert | MariaDB |
|---|---|
| Ja und nein | tinyint(1) |
| Ganze Zahlen | int |
| Große ganze Zahlen | bigint |
| Dezimalzahlen | decimal(p,s)double |
| Gleitkommazahlen | double |
| Datumswerte | date |
| Uhrzeiten | time(6)time |
| Datum mit Uhrzeit | datetime(6)datetime |
| Datum mit Uhrzeit und Zeitversatz | datetime(6)datetime |
| Text | varchar(n)textmediumtextlongtext |
Fragen zu JSON zu MariaDB
Keine Antwort gefunden? Schreib uns über die Kontaktseite, und ein Mensch antwortet. Kontaktseite
Wie konvertiere ich JSON zu MariaDB?
Leg deine Datei auf den Konverter oben auf dieser Seite. Er findet die Kopfzeile, liest jeden Wert und schreibt das MariaDB-Skript, mit jeder Korrektur aufgelistet. Lade das Skript herunter und führe es mit the mariadb client aus.
Welche Form braucht die JSON-Datei?
Ein Array von Objekten, ein Objekt, das dieses Array unter einem Schlüssel wie data enthält, oder ein Objekt pro Zeile (NDJSON). Jeder Schlüssel wird zu einer Spalte.
Welche MariaDB-Typen werden verwendet?
Ja/Nein-Werte werden tinyint(1), ganze Zahlen int, Dezimalzahlen decimal(p,s), Datumsangaben date, Datumsangaben mit Uhrzeit datetime(6) und Text varchar(n). Die Größen richten sich nach dem längsten Wert jeder Spalte.
Bleiben führende Nullen in MariaDB erhalten?
Ja. Ein Code wie 000481 bleibt Text, also speichert MariaDB ihn als varchar(8), und das Skript schreibt ihn als '000481'.
Kann es die Daten ohne Skript in MariaDB laden?
Ja, mit IntoSQL Pro. Die Desktop-App und die Kommandozeile verbinden sich mit MariaDB und laden die Zeilen direkt, nachdem sie die Tabelle angelegt haben.
Wie groß darf die JSON-Datei sein?
NDJSON, ein Objekt pro Zeile, wird beim Einströmen gelesen, daher funktionieren Dateien von mehreren Gigabyte im Browser. Ein JSON-Dokument wird vollständig gelesen, seine Grenze ist also der Speicher, den der Browser dieser Seite gibt. Die Desktop-App und die Kommandozeile nehmen Dateien jeder Größe.