Mysql
 sql >> Base de données >  >> RDS >> Mysql

Exporter la base de données mysql / les tables mysql au format json via la ligne de commande OU PHP

mysql ne peut pas sortir directement au format json

vous avez donc deux options :

  1. exporter en XML l'utilisation d'un outil pour convertir de XML en JSON (un outil qui peut traiter de grandes tables bien sûr)

  2. écrire un petit script (par exemple en PHP) qui récupère les données de la base de données et les écrit dans un fichier en JSON

Remarque importante :

Si vous choisissez l'option nr. (2) vous pouvez avoir des difficultés à charger l'ensemble des données de la table, à les convertir en JSON et à les enregistrer dans un fichier en une seule étape "atomique" si vous avez beaucoup d'enregistrements .

Cependant, vous pouvez diviser la tâche en étapes.

Fondamentalement, une table transformée en JSON est un tableau d'objets, chaque objet représentant un seul enregistrement.

  1. Ouvrir une connexion à la bd

  2. Commencez à écrire le fichier de sortie et ouvrez le tableau en écrivant un crochet ouvert [

  3. Exécutez votre requête en récupérant n ( 1 SORT la table par n'importe quel champ -ex. id - et utilisez la LIMIT clause)

  4. Convertir chaque enregistrement avec json_econde , écrivez la chaîne dans le fichier, écrivez une virgule , sauf si vous avez écrit le dernier enregistrement.

  5. Retour à 3 jusqu'à ce que vous atteigniez le dernier enregistrement.

  6. Écrivez un crochet fermant dans le fichier ] (fermeture du tableau).

  7. Fermez le fichier et la connexion à la base de données

Cela nécessiterait un peu plus de codage, mais ce n'est pas sorcier.

...et peut-être que vous trouvez quelque chose en ligne qui le fait déjà.

Mise à jour :

Un script qui récupère les données de la base de données et les écrit dans un fichier au format JSON peut être trouvé ici sur GitHub :Dump-table-vers-JSON (dernière mise à jour 2016).