Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL:Zrzuć bazę danych z zapytania SQL

Biorąc pod uwagę Twoje wymagania, myślę, że pozostało Ci (pseudo-kod + SQL)

tables = mysql_fetch "SHOW TABLES"
foreach table in tables
    create = mysql_fetch "SHOW CREATE TABLE table"
    print create
    rows = mysql_fetch "SELECT * FROM table"
    foreach row in rows
        // or could use VALUES (v1, v2, ...), (v1, v2, ...), .... syntax (maybe preferable for smaller tables)
        insert = "INSERT (fiedl1, field2, field2, etc) VALUES (value1, value2, value3, etc)"
        print insert

Zasadniczo pobierz listę wszystkich tabel, a następnie przejdź do każdej tabeli i wygeneruj INSERT instrukcje dla każdego wiersza ręcznie (większość interfejsów API ma prosty sposób na pobranie listy nazw kolumn, w przeciwnym razie możesz wrócić do wywołania DESC TABLE ).

SHOW CREATE TABLE jest zrobione, ale jestem prawie pewien, że nie ma nic analogicznego do zrobienia SHOW INSERT ROWS .

I oczywiście zamiast drukowania zrzutu możesz zrobić z nim, co chcesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Git bash w systemie Windows 7. Polecenie mysqldump nie działa

  2. Zapytania KILL MySQL przy użyciu PHP, jeśli użytkownik zamknie przeglądarkę lub przejdzie z jednej strony na drugą

  3. MySQL:odmowa dostępu użytkownika do bazy danych

  4. Samouczek MySQL — konfiguracja i zarządzanie SSL na serwerze MySQL

  5. MySQL a SQL Server Express