Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So rufen Sie gespeicherte MySQL-Prozeduren in Python auf

Dieser Artikel zeigt Ihnen ein Beispiel zum Aufrufen einer gespeicherten MySQL-Prozedur in Python. Es wird sowohl der Python mysql-connector-python verwendet Bibliothek und die Python-pymysql Bibliothek.

1. Gespeicherte MySQL-Prozedur in Python-Schritten aufrufen.

  1. Erstellen Sie zwei gespeicherte MySQL-Prozeduren mit dem folgenden Quellcode.
  2. Gespeicherte MySQL-Prozedur add_number .
    USE `dev2qa_example`;DROP procedure IF EXISTS `add_number`;DELIMITER $$USE `dev2qa_example`$$CREATE PROCEDURE `add_number` (a int, b int, out sum int)BEGIN set sum =a + b; END$$ DELIMITER;
  3. Gespeicherte MySQL-Prozedur multiple_number .
    USE `dev2qa_example`;DROP procedure IF EXISTS `multiple_number`;DELIMITER $$USE `dev2qa_example`$$CREATE PROCEDURE `multiple_number` (a int, b int, out sum int)BEGIN set sum =a * b; END$$ DELIMITER;
  4. Überprüfen Sie, ob die python mysql-connector-python Bibliothek und die Python-pymysql Bibliothek wurde in Ihrer Python-Umgebung installiert.

    $ pip show mysql-connector-pythonName:mysql-connector-pythonVersion:8.0.25Zusammenfassung:MySQL-Treiber geschrieben in PythonStartseite:http://dev.mysql.com/doc/connector-python/en/index. htmlAutor:Oracle und/oder verbundene UnternehmenAutor-E-Mail:UNBEKANNTLizenz:GNU GPLv2 (mit FOSS-Lizenzausnahme)Speicherort:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packagesErfordert:protobufErforderlich von:****************************************************** ****************************************$ pip show pymysqlName:PyMySQLVersion:1.0. 2Zusammenfassung:Reiner Python-MySQL-Treiber Homepage:https://github.com/PyMySQL/PyMySQL/Autor:yutaka.matsubaraAutor-E-Mail:[email protected]:„MIT“ Speicherort:/Library/Frameworks/Python.framework/Versions /3.7/lib/python3.7/site-packagesRequires:Required-by:
  5. Falls die python mysql-connector-python und pymysql  Bibliothek nicht in Ihrer Python-Umgebung installiert ist, können Sie den Befehl pip install pymysql ausführen oder pip install mysql-connector-python  um sie zu installieren.
  6. Gespeicherte MySQL-Prozedur mit Python aufrufen mysql-connector-python Beispiel-Quellcode des Moduls.
    import mysql.connector# get mysql connection object.def open_mysql_connection(user=global_user, password=global_password, host=global_host, port=global_port, database=global_db, use_unicode=True):conn =mysql. connector.connect(user=user, password=password, host=host, port=port, database=database, use_unicode=use_unicode) return conn# mysql-Verbindung schließen. def close_mysql_connection(conn):wenn conn nicht None ist:conn.close() conn =None # mysql Stored Procedure aufrufen. def call_stored_procedure(conn, gespeicherter_prozedurname):cursor =conn.cursor() out_args =cursor.callproc(stored_procedure_name, (5, 6, 0)) print(out_args) print(out_args[0]) print(out_args[1]) print (out_args[2]) conn.commit() cursor.close() if __name__ =='__main__':conn =open_mysql_connection() call_stored_procedure(conn, 'add_number') call_stored_procedure(conn, 'multiple_number') close_mysql_connection(conn)
  7. Unten ist die obige Beispielausgabe.
    (5, 6, 11)5611(5, 6, 30)5630
  8. Wenn Sie Python verwenden möchten pymysql Modul, um die gespeicherte MySQL-Prozedur aufzurufen, besteht der einzige Unterschied darin, wie das Verbindungsobjekt der MySQL-Datenbank abgerufen wird. Wenn Sie das Verbindungsobjekt der MySQL-Datenbank abrufen, verwenden Sie pymysql Modul können Sie das obige def call_stored_procedure(conn, saved_procedure_name): aufrufen Funktion, um auch die gespeicherte MySQL-Prozedur aufzurufen.
  9. Unten ist der Quellcode, der das Verbindungsobjekt der MySQL-Datenbank abrufen kann, python pymsql. , password='jerry', db='dev2qa_example', charset='utf8', cursorclass=cursors.DictCursor):conn =connect(host=host, user=user, password=password, db=db, charset=charset, Cursorklasse=Cursorklasse) return conn # mysql-Verbindung schließen. def close_mysql_connection(conn):wenn conn nicht None ist:conn.close()