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

Pythonで複数のSQLステートメントを実行するための推奨される方法は?

    ストアドプロシージャを作成します:

    DROP PROCEDURE IF EXISTS CopyTable;
    DELIMITER $$
    CREATE PROCEDURE CopyTable(IN _mytable VARCHAR(64), _table_name VARCHAR(64))
    BEGIN
        SET FOREIGN_KEY_CHECKS=0;
        SET @stmt = CONCAT('DROP TABLE IF EXISTS ',_table_name);
        PREPARE stmt1 FROM @stmt;
        EXECUTE stmt1;
        SET FOREIGN_KEY_CHECKS=1;
        SET @stmt = CONCAT('CREATE TABLE ',_table_name,' as select * from ', _mytable);
        PREPARE stmt1 FROM @stmt;
        EXECUTE stmt1;
        DEALLOCATE PREPARE stmt1;
    END$$
    DELIMITER ;
    

    次に実行します:

    args = ['mytable', 'table_name']
    cursor.callproc('CopyTable', args)
    

    シンプルでモジュール式に保ちます。もちろん、何らかのエラーチェックを行う必要があります。また、ストアドプロシージャに、成功または失敗を示すコードを返すようにすることもできます。



    1. MapReduceのタイプとフォーマットを理解する

    2. 関数からストアドプロシージャを実行する

    3. SQLServerのグラフィカルユーザーインターフェイスを使用してExcelまたはCSVデータをテーブルに挿入する方法-SQLServer/TSQLチュートリアルパート102

    4. cPanelMySQLデータベースの操作