Mysql
 sql >> база данни >  >> RDS >> Mysql

Експортирайте mysql база данни / mysql таблици във формат json чрез команден ред ИЛИ PHP

mysql не може да извежда директно във формат json

така че имате две възможности:

  1. експортирайте в XML, използвайте инструмент за конвертиране от XML в JSON (инструмент, който може да работи с големи таблици, разбира се)

  2. напишете малък скрипт (например в PHP), който извлича данните от DB и ги записва във файл в JSON

Важна забележка:

Ако изберете опция nr. (2) може да имате проблеми със зареждането на цялата таблица на данните, преобразуването в JSON и записването във файл в една "атомна" стъпка ако имате много записи .

Въпреки това можете да разделите задачата на стъпки.

По принцип таблица, превърната в JSON, е масив от обекти, всеки обект представлява един запис.

  1. Отворете връзка с db

  2. Започнете да пишете изходния файл и отворете масива, като напишете отворена квадратна скоба [

  3. Изпълнете заявката си, извличайки n ( 1 SORT таблицата по всяко поле - напр. id - и използвайте LIMIT клауза)

  4. Преобразувайте всеки запис с json_econde , напишете низа във файл, напишете запетая , освен ако не сте написали последния запис.

  5. Назад към 3 докато достигнете последния рекорд.

  6. Напишете затваряща квадратна скоба във файла ] (затваряне на масива).

  7. Затворете файла и връзката с db

Това ще изисква малко повече кодиране, но това не е ракетна наука.

...и може би ще намерите нещо онлайн, което вече го прави.

Актуализация:

Скрипт, който извлича данните от DB и ги записва във файл в JSON, може да се намери тук в GitHub:Dump-table-to-JSON (последна актуализация 2016 г.).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - ИЗБЕРЕТЕ КАТО в WHERE

  2. Как ефективно да проектирам MySQL база данни за моя конкретен случай

  3. Дизайн на БД:една голяма БД за всички клиенти или много малки БД

  4. Грешка ETIMEDOUT при запитване на mysql база данни

  5. Как мога да съхранявам масив от булеви стойности в база данни на MySql?