Rumah > Artikel > pangkalan data > Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan Python
Cara menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan Python
MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan, dan Python ialah bahasa pengaturcaraan yang berkuasa. Menggabungkan kedua-duanya membolehkan operasi pangkalan data yang lebih fleksibel dan cekap. Prosedur dan fungsi tersimpan dalam MySQL boleh membantu kami merangkum logik operasi yang biasa digunakan dan mengurangkan penulisan kod berulang. Artikel ini akan memperkenalkan cara menggunakan Python untuk menulis prosedur dan fungsi tersimpan tersuai, dengan contoh kod khusus.
CREATE DATABASE testdb; USE testdb; CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255), age INT, email VARCHAR(255) );
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="testdb" ) mycursor = mydb.cursor()
def create_procedure(): sql = """ CREATE PROCEDURE get_users_by_age( IN min_age INT, IN max_age INT ) BEGIN SELECT * FROM users WHERE age >= min_age AND age <= max_age; END """ mycursor.execute(sql) mydb.commit()
def call_procedure(): mycursor.callproc("get_users_by_age", (18, 30)) for result in mycursor.stored_results(): for row in result.fetchall(): print(row)
def create_function(): sql = """ CREATE FUNCTION count_users_by_age( min_age INT, max_age INT ) RETURNS INT BEGIN DECLARE user_count INT; SELECT COUNT(*) INTO user_count FROM users WHERE age >= min_age AND age <= max_age; RETURN user_count; END """ mycursor.execute(sql) mydb.commit()
def call_function(): mycursor.callfunc("count_users_by_age", int, (18, 30))
Pada ketika ini, kami telah belajar cara menulis storan tersuai dalam MySQL menggunakan Prosedur dan fungsi Python. Dengan menggabungkan Python dengan MySQL, kami boleh melaksanakan operasi pangkalan data dengan lebih fleksibel dan meningkatkan kebolehgunaan semula dan kebolehselenggaraan kod.
Kod lengkap adalah seperti berikut:
import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="testdb" ) mycursor = mydb.cursor() def create_procedure(): sql = """ CREATE PROCEDURE get_users_by_age( IN min_age INT, IN max_age INT ) BEGIN SELECT * FROM users WHERE age >= min_age AND age <= max_age; END """ mycursor.execute(sql) mydb.commit() def call_procedure(): mycursor.callproc("get_users_by_age", (18, 30)) for result in mycursor.stored_results(): for row in result.fetchall(): print(row) def create_function(): sql = """ CREATE FUNCTION count_users_by_age( min_age INT, max_age INT ) RETURNS INT BEGIN DECLARE user_count INT; SELECT COUNT(*) INTO user_count FROM users WHERE age >= min_age AND age <= max_age; RETURN user_count; END """ mycursor.execute(sql) mydb.commit() def call_function(): mycursor.callfunc("count_users_by_age", int, (18, 30)) create_procedure() call_procedure() create_function() call_function()
Di atas ialah cara menggunakan Python untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL. Saya harap ia akan membantu anda. Dengan menggunakan prosedur dan fungsi tersimpan secara rasional, kami boleh meningkatkan kecekapan dan fleksibiliti operasi pangkalan data dan mencapai fungsi yang lebih berkuasa.
Atas ialah kandungan terperinci Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!