sql >> Databasteknik >  >> RDS >> Mysql

Hur man anropar MySQL lagrad procedur i Python

Den här artikeln kommer att visa dig ett exempel på hur du anropar MySQL lagrad procedur i python. Den kommer att använda både python mysql-connector-python biblioteket och python pymysql bibliotek.

1. Ring upp MySQL lagrad procedur i Python-steg.

  1. Skapa två MySQL-lagrade procedurer med källkoden nedan.
  2. MySQL lagrad procedur add_number .
    ANVÄND `dev2qa_example`;DROP-procedur OM FINNS `add_number`;DELIMITER $$USE `dev2qa_example`$$CREATE PROCEDUR `add_number` (a int, b int, ut summa int)BEGIN set summa =a + b; END$$DELIMITER;
  3. MySQL lagrad procedur multiple_number .
    ANVÄND `dev2qa_example`;DROP-procedur OM FINNS `multiple_number`;DELIMITER $$USE `dev2qa_example`$$CREATE PROCEDUR `multiple_number` (a int, b int, ut summa int)BEGIN set summa =a * b; END$$DELIMITER;
  4. Kontrollera om python mysql-connector-python biblioteket och python pymysql biblioteket har installerats på din python-miljö.

    $ pip show mysql-connector-pythonName:mysql-connector-pythonVersion:8.0.25Sammanfattning:MySQL-drivrutin skriven i PythonHome-page:http://dev.mysql.com/doc/connector-python/en/index. htmlFörfattare:Oracle och/eller dess affiliatesFörfattare-e-post:UNKNOWNLicens:GNU GPLv2 (med FOSS-licensundantag) Plats:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packagesRequires:prored-tobuf ************************************************** *****************************************$ pip show pymysqlName:PyMySQLVersion:1.0. 2Sammanfattning:Pure Python MySQL DriverHome-page:https://github.com/PyMySQL/PyMySQL/Author:yutaka.matsubaraAuthor-email:[email protected]:"MIT"Plats:/Library/Frameworks/Python.framework /3.7/lib/python3.7/site-packagesRequires:Required-by:
  5. Om python mysql-connector-python och pymysql  biblioteket inte är installerat i din python-miljö kan du köra kommandot pip install pymysql eller pipinstallera mysql-connector-python  för att installera dem.
  6. Ring MySQL lagrad procedur använd python mysql-connector-python modulexempel källkod.
    importera mysql.connector# hämta mysql-anslutningsobjekt.def open_mysql_connection(användare=global_användare, lösenord=global_lösenord, värd=global_värd, port=global_port, databas=global_db, use_unicode=True):conn =mysql. connector.connect(användare=användare, lösenord=lösenord, värd=värd, port=port, databas=databas, use_unicode=use_unicode) returnera anslutning# stäng mysql-anslutning. def close_mysql_connection(conn):om conn inte är None:conn.close() conn =None # anrop den lagrade mysql-proceduren. def call_stored_procedure(conn, stored_procedure_name):cursor =conn.cursor() out_args =cursor.callproc(stored_process_name, (5, 6, 0)) print(out_args) print(out_args[0]) print(out_args[1]) print (out_args[2]) conn.commit() cursor.close() om __name__ =='__main__':conn =open_mysql_connection() call_stored_procedure(conn, 'add_number') call_stored_procedure(conn, 'multiple_number') close_mysql_connection /pre> 
  7. Nedan är exemplet ovan.
    (5, 6, 11)5611(5, 6, 30)5630
  8. Om du vill använda python pymysql modul för att anropa den lagrade MySQL-proceduren, den enda skillnaden är hur man får MySQL-databasanslutningsobjektet, när du får MySQL-databasanslutningsobjektet använd pymysql modul, kan du anropa ovanstående def call_stored_procedure(conn, stored_procedure_name): funktion för att anropa den lagrade MySQL-proceduren också.
  9. Nedan är källkoden som kan få MySQL-databasanslutningsobjekt att använda python pymsql.
    från pymysql import connect, cursors# get mysql connection object.def open_mysql_connection(host='127.0.0.1', user='jerry' , lösenord='jerry', db='dev2qa_example', charset='utf8', cursorclass=cursors.DictCursor):conn =connect(host=host, user=user, password=lösenord, db=db, charset=charset, cursorclass=cursorclass) return conn # stäng mysql-anslutning. def close_mysql_connection(conn):om anslutning inte är Ingen:conn.close()

  1. PL/SQL-samling:Kapslad tabell i Oracle-databas

  2. Hur man tar bort efterföljande blanksteg i MySQL

  3. Slå samman/kombinera flera PDF-filer till en PDF i Oracle med PLPDF_TOOLKIT PL/SQL-paket

  4. Säkerhetsöverväganden för MariaDB-distributioner i hybridmolnmiljö