Ten artykuł pokaże Ci przykład, jak wywołać procedurę składowaną MySQL w Pythonie. Będzie używał zarówno pythona mysql-connector-python biblioteka i python pymysql biblioteka.
1. Wywołaj procedurę składowaną MySQL w krokach Pythona.
- Utwórz dwie procedury składowane MySQL, korzystając z poniższego kodu źródłowego.
- Procedura przechowywana MySQL add_number .
USE `dev2qa_example`;DROPprocedura IF EXISTS `add_number`;DELIMITER $$USE `dev2qa_example`$$CREATE PROCEDURE `add_number` (a int, b int, out sum int)BEGIN ustaw sumę =a + b; END$$DELIMITER;
- Procedura przechowywana MySQL wielokrotny numer .
USE `dev2qa_example`;DROPprocedura IF EXISTS `multiple_number`;DELIMITER $$USE `dev2qa_example`$$CREATE PROCEDURE `multiple_number` (a int, b int, out sum int)BEGIN ustaw sumę =a * b; END$$DELIMITER;
- Sprawdź, czy python mysql-connector-python biblioteka i python pymysql biblioteka została zainstalowana w twoim środowisku Pythona.
$ pip show mysql-connector-pythonName:mysql-connector-pythonVersion:8.0.25Podsumowanie:Sterownik MySQL napisany w PythonHome-page:http://dev.mysql.com/doc/connector-python/en/index. htmlAutor:Oracle i/lub podmioty stowarzyszone Adres e-mail autora:NIEZNANY Licencja:GNU GPLv2 (z wyjątkiem licencji FOSS)Lokalizacja:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packagesWymaga:protobufWymagany przez:************************************************** *****************************************$ pip pokaż pymysqlName:PyMySQLWersja:1.0. 2Podsumowanie:Pure Python MySQL DriverStrona główna:https://github.com/PyMySQL/PyMySQL/Autor:yutaka.matsubaraAdres e-mail autora:[email protected]:"MIT"Lokalizacja:/Library/Frameworks/Python.framework/Versions /3.7/lib/python3.7/site-packagesRequires:Wymagane przez:
- Jeśli python mysql-connector-python i pymysql biblioteka nie jest zainstalowana w twoim środowisku Pythona, możesz uruchomić polecenie pip install pymysql lub pip install mysql-connector-python aby je zainstalować.
- Wywołaj procedurę składowaną MySQL, użyj Pythona mysql-connector-python przykładowy kod źródłowy modułu.
import mysql.connector# pobierz 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# zamknij połączenie mysql. def close_mysql_connection(conn):jeśli conn nie jest Brak:conn.close() conn =Brak # wywołaj procedurę składowaną mysql. def call_stored_procedure(conn, nazwa_procedury_przechowywanej):kursor =conn.cursor() argumenty_wyj =kursor.callproc(nazwa_procedury_zapisanej, (5, 6, 0)) print(argi_wyj) print(argi_wyj[0]) print(argi_wyj[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_connection(connl_) /pre>
- Poniżej znajduje się powyższe przykładowe wyjście.
(5, 6, 11)5611(5, 6, 30)5630
- Jeśli chcesz używać Pythona pymysql moduł do wywołania procedury składowanej MySQL, jedyną różnicą jest sposób uzyskania obiektu połączenia z bazą danych MySQL, gdy otrzymasz obiekt połączenia z bazą danych MySQL użyj pymysql moduł, możesz wywołać powyższy def call_stored_procedure(conn, store_procedure_name): do wywołania również procedury składowanej MySQL.
- Poniżej znajduje się kod źródłowy, który może uzyskać połączenie z bazą danych MySQL za pomocą Pythona pymsql.
z połączenia importu pymysql, kursory# pobierz obiekt połączenia mysql.def open_mysql_connection(host='127.0.0.1', user='jerry' , password='jerry', db='dev2qa_example', charset='utf8', cursorclass=cursors.DictCursor):conn =connect(host=host, user=user, password=password, db=db, charset=charset, cursorclass=cursorclass) return conn # zamknij połączenie mysql. def close_mysql_connection(conn):jeśli conn nie jest Brak:conn.close()