Convertir JSON en MySQL
Déposez votre fichier JSON pour obtenir un script MySQL avec des instructions CREATE TABLE et INSERT. Chaque colonne reçoit un type, et chaque correction est listée avec sa ligne et sa colonne.
4 lignes converties, 2 corrections, aucune rejetée
| Ligne | ||||||
|---|---|---|---|---|---|---|
| 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 MySQL.
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;
Corrections
- Zéros initiaux conservés dans "pedido" : 000481 reste 000481, enregistré en texte.
- "pagado" contient des mots oui et non (sí), enregistrés en booléen.
Votre fichier est converti sur cet ordinateur et n'est jamais envoyé.
Autres exemples :
De JSON à MySQL, colonne par colonne
L'exemple ci-dessus, pedidos_2024.json, tel qu'IntoSQL l'écrit pour MySQL : ce que contient chaque colonne du fichier, le type qu'elle reçoit et comment sa première valeur apparaît dans le script.
| Dans le fichier | Première valeur | Colonne | Type MySQL | Dans le script |
|---|---|---|---|---|
| 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 |
Charger le script dans MySQL
Le téléchargement est un simple fichier .sql. Exécutez-le avec les outils de MySQL.
Depuis un terminal
mysql --default-character-set=utf8mb4 mydb < pedidos_2024.mysql.sqlLe script définit lui-même utf8mb4 ; l'option fait envoyer le client de la même façon, donc les accents arrivent intacts.
Depuis un outil de base de données
Dans MySQL Workbench, choisissez File, Run SQL Script, puis le fichier.
Sans scriptPro
IntoSQL Pro charge le fichier directement dans MySQL depuis l'application de bureau ou la ligne de commande, sans écrire de script.
intosql load pedidos_2024.json --into mysql://user@localhost/mydbBon à savoir sur les fichiers JSON et MySQL
Ce qu'IntoSQL lit dans les fichiers JSON
- Le fichier peut être un tableau d'objets, un objet qui contient ce tableau sous une clé comme data, ou un objet par ligne (NDJSON).
- Chaque clé devient une colonne. Les objets et tableaux à l'intérieur d'une valeur sont gardés en texte JSON.
- Les nombres gardent leurs chiffres exacts, et les dates ISO 8601 deviennent des dates ou des horodatages.
Bon à savoir sur MySQL
- Les valeurs oui et non deviennent tinyint(1). Le texte jusqu'à 255 caractères est en varchar ; un texte plus long est en text, mediumtext ou longtext selon sa taille.
- Le script utilise utf8mb4 et définit le mode SQL, donc les accents, emoji, barres obliques inverses et sauts de ligne sont chargés tels qu'écrits.
- Le datetime de MySQL ne stocke pas de fuseau horaire.
Comment chaque type de valeur est stocké dans MySQL
| Valeur | MySQL |
|---|---|
| Oui et non | tinyint(1) |
| Nombres entiers | int |
| Grands nombres entiers | bigint |
| Décimaux | decimal(p,s)double |
| Nombres à virgule flottante | double |
| Dates | date |
| Heures | time(6)time |
| Dates avec heure | datetime(6)datetime |
| Dates avec heure et décalage | datetime(6)datetime |
| Texte | varchar(n)textmediumtextlongtext |
Questions sur JSON vers MySQL
Pas de réponse ici ? Écrivez-nous depuis la page de contact, une personne vous répond. Page de contact
Comment convertir JSON en MySQL ?
Déposez votre fichier sur le convertisseur en haut de cette page. Il trouve l'en-tête, lit chaque valeur et écrit le script MySQL, en listant chaque correction. Téléchargez le script et exécutez-le avec the mysql client.
Quelle forme doit avoir le fichier JSON ?
Un tableau d'objets, un objet qui contient ce tableau sous une clé comme data, ou un objet par ligne (NDJSON). Chaque clé devient une colonne.
Quels types MySQL utilise-t-il ?
Les valeurs oui et non deviennent tinyint(1), les nombres entiers int, les décimaux decimal(p,s), les dates date, les dates avec heure datetime(6) et le texte varchar(n). Les tailles viennent de la valeur la plus longue de chaque colonne.
Garde-t-il les zéros en tête dans MySQL ?
Oui. Un code comme 000481 reste du texte, donc MySQL le stocke en varchar(8) et le script l'écrit '000481'.
Peut-il charger les données dans MySQL sans script ?
Oui, avec IntoSQL Pro. L'application de bureau et la ligne de commande se connectent à MySQL et chargent les lignes directement, en créant d'abord la table.
Quelle taille peut avoir le fichier JSON ?
Le NDJSON, un objet par ligne, est lu au fil de l'eau, donc des fichiers de plusieurs gigaoctets fonctionnent dans le navigateur. Un document JSON est lu en entier : sa limite est la mémoire que le navigateur accorde à cette page. L'application de bureau et la ligne de commande acceptent des fichiers de toute taille.