sql >> データベース >  >> RDS >> Mysql

MySQL: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を生成します 各行のステートメントを手動で(ほとんどのAPIには、列名のリストを取得する簡単な方法があります。それ以外の場合は、DESC TABLEの呼び出しにフォールバックできます。 。

    SHOW CREATE TABLE これはあなたのために行われますが、SHOW INSERT ROWSに類似したものはないと確信しています。 。

    そしてもちろん、ダンプを印刷する代わりに、それを使ってやりたいことが何でもできます。



    1. PHP/MYSQL複数のテーブルを結合する

    2. SET DATEFIRST –SQLServerで週の最初の曜日を設定します

    3. AES-256-CBCのpgcryptoを使用して復号化することはできませんが、AES-128-CBCは問題ありません

    4. データ移行