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

MySQL:Dump база данни от SQL заявка

Предвид вашите изисквания, мисля, че ви остава (псевдо-код + 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

По принцип извлечете списъка с всички таблици, след това разгледайте всяка таблица и генерирайте INSERT оператори за всеки ред на ръка (повечето apis имат прост начин да извличат списъка с имена на колони, в противен случай можете да се върнете към извикването на DESC TABLE ).

SHOW CREATE TABLE е направено за вас, но съм почти сигурен, че няма нищо аналогично за правене SHOW INSERT ROWS .

И разбира се, вместо да отпечатвате сметището, можете да правите каквото искате с него.



  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 Подобряване на производителността при търсене със заместващи знаци (%%)

  2. mySQL заявка - показва най-популярния елемент

  3. Йерархични данни в MySql

  4. ГРЕШКА 1044 (42000):Достъпът е отказан за „root“ с всички привилегии

  5. По дяволите MySQL... не може да се свърже с база данни /tmp/mysql.sock