sql >> Database >  >> RDS >> Mysql

Exporteer mysql-database / mysql-tabellen in json-indeling via de opdrachtregel OF PHP

mysql kan niet rechtstreeks in json-indeling worden uitgevoerd

dus je hebt twee opties:

  1. export in XML het gebruik een tool om van XML naar JSON te converteren (een tool die natuurlijk overweg kan met grote tabellen)

  2. schrijf een klein script (bijvoorbeeld in PHP) dat de gegevens uit de DB haalt en schrijft naar een bestand in JSON

Belangrijke opmerking:

Als u optie nr. (2) u kunt problemen hebben met het laden van de hele tabelgegevens, het converteren naar JSON en het opslaan naar een bestand in een enkele "atomaire" stap als u veel records heeft .

U kunt de taak echter in stappen opsplitsen.

Een tabel die in een JSON is veranderd, is in feite een array van objecten, waarbij elk object een enkel record vertegenwoordigt.

  1. Open een verbinding met de db

  2. Begin met het schrijven van het uitvoerbestand en open de array door een open vierkante haak te schrijven [

  3. Voer uw zoekopdracht uit door n . op te halen ( 1 SORT de tabel door een willekeurig veld -ex. id - en gebruik de LIMIT clausule)

  4. Converteer elk record met json_econde , schrijf de string naar bestand, schrijf een komma , tenzij je het laatste record hebt geschreven.

  5. Terug naar 3 totdat je het laatste record hebt bereikt.

  6. Schrijf een afsluitend vierkant haakje naar het bestand ] (de array sluiten).

  7. Sluit het bestand en de db-verbinding

Dit vereist wat meer codering, maar het is geen hogere wiskunde.

...en misschien vind je iets online dat dat al doet.

Bijwerken:

Een script dat de gegevens uit de database haalt en naar een bestand in JSON schrijft, is hier te vinden op GitHub:Dump-tabel-naar-JSON (laatst bijgewerkt in 2016).



  1. Kan mysqldump niet verbinden met lokale mysql-instantie (fout 2003/10061)

  2. Tien tips voor het bereiken van MySQL- en MariaDB-beveiliging

  3. mysqli-query geeft alleen eerste rij terug

  4. Hoe Glassfish Server handmatig in Eclipse te configureren