Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Memanggil Prosedur Tersimpan MySQL Dengan Python

Artikel ini akan menunjukkan kepada Anda contoh tentang cara memanggil prosedur tersimpan MySQL dengan python. Ini akan menggunakan python mysql-connector-python perpustakaan dan python pymysql perpustakaan.

1. Panggil Prosedur Tersimpan MySQL Dalam Langkah Python.

  1. Buat dua prosedur tersimpan MySQL menggunakan kode sumber di bawah ini.
  2. Prosedur Tersimpan MySQL add_number .
    GUNAKAN `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; AKHIR$$DELIMITER;
  3. Prosedur Tersimpan MySQL multiple_number .
    GUNAKAN `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; AKHIR$$DELIMITER;
  4. Periksa apakah python mysql-connector-python perpustakaan dan python pymysql library telah diinstal di lingkungan python Anda.

    $ pip tampilkan mysql-connector-pythonName:mysql-connector-pythonVersion:8.0.25Ringkasan:Driver MySQL ditulis dalam PythonHome-page:http://dev.mysql.com/doc/connector-python/en/index. htmlPenulis:Oracle dan/atau afiliasinyaEmail penulis:UNKNOWNLisensi:GNU GPLv2 (dengan Pengecualian Lisensi FOSS)Lokasi:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packagesMemerlukan:protobufDiperlukan-oleh:************************************************** *****************************************$ pip show pymysqlName:PyMySQLVersion:1.0. 2Ringkasan:Pure Python MySQL DriverHome-page:https://github.com/PyMySQL/PyMySQL/Author:yutaka.matsubaraAuthor-email:[email protected]:"MIT"Location:/Library/Frameworks/Python.framework/Versions /3.7/lib/python3.7/site-packagesMemerlukan:Diperlukan-oleh:
  5. Jika python mysql-connector-python dan pymysql  library tidak diinstal di lingkungan python Anda, Anda dapat menjalankan perintah pip install pymysql atau pip install mysql-connector-python  untuk menginstalnya.
  6. Panggil prosedur tersimpan MySQL menggunakan python mysql-connector-python contoh modul kode sumber.
    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# tutup koneksi mysql. def close_mysql_connection(sambungan):jika samb bukan Tidak ada:samb.close() conn =Tidak ada # panggil prosedur tersimpan mysql. def call_stored_procedure(sambungan, nama_prosedur tersimpan):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(sambungan, 'add_number') call_stored_procedure(sambungan, 'multiple_number') close_mysql) 
  7. Di bawah ini adalah contoh output di atas.
    (5, 6, 11)5611(5, 6, 30)5630
  8. Jika Anda ingin menggunakan python pymysql modul untuk memanggil prosedur tersimpan MySQL, satu-satunya perbedaan adalah bagaimana mendapatkan objek koneksi database MySQL, ketika Anda mendapatkan objek koneksi database MySQL gunakan pymysql modul, Anda dapat memanggil def call_stored_procedure(sambungan, stored_procedure_name): di atas berfungsi untuk memanggil prosedur tersimpan MySQL juga.
  9. Di bawah ini adalah source code yang bisa mendapatkan objek koneksi database MySQL menggunakan python pymsql.
    dari pymysql import connect, cursors# get mysql connection object.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) kembalikan samb # tutup koneksi mysql. def close_mysql_connection(sambungan):jika sambungan bukan Tidak ada:sambungan.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. Memigrasikan Database MySQL dari Amazon RDS ke DigitalOcean

  2. Bagaimana Fungsi LCASE() Bekerja di MySQL

  3. MySQL JOIN LENGKAP?

  4. Bagaimana cara mengisi lubang di bidang kenaikan otomatis?

  5. Bagaimana cara memilih baris pertama untuk setiap grup di MySQL?