Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wywołać procedurę składowaną MySQL w Pythonie?

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.

  1. Utwórz dwie procedury składowane MySQL, korzystając z poniższego kodu źródłowego.
  2. 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;
  3. 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;
  4. 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:
  5. 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ć.
  6. 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> 
  7. Poniżej znajduje się powyższe przykładowe wyjście.
    (5, 6, 11)5611(5, 6, 30)5630
  8. 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.
  9. 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()

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest różnica między VARCHAR a CHAR?

  2. JSON_CONTAINS_PATH() Przykłady w MySQL

  3. Zachowaj podziały wierszy z TextArea podczas pisania w MySQL

  4. Błąd MySql:1364 Pole 'display_name' nie ma wartości domyślnej

  5. Wyzwalacz MySQL zapobiegający INSERT pod pewnymi warunkami