Bagaimana untuk menulis prosedur dan fungsi tersimpan tersuai dalam MySQL menggunakan Python

WBOY
Lepaskan: 2023-09-20 11:33:48
asal
582 orang telah melayarinya

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.

  1. Persediaan
    Pertama, pastikan anda telah memasang pangkalan data Python dan MySQL dan boleh menyambung ke pangkalan data.
  2. Buat Pangkalan Data dan Jadual
    Kami akan menggunakan pangkalan data sampel untuk menunjukkan penggunaan prosedur dan fungsi tersimpan tersuai. Mula-mula, cipta pangkalan data bernama "testdb" dan buat jadual bernama "pengguna" di dalamnya dengan struktur berikut:
CREATE DATABASE testdb;

USE testdb;

CREATE TABLE users (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255),
  age INT,
  email VARCHAR(255)
);
Salin selepas log masuk
  1. Tulis kod Python
    Seterusnya, kami akan menulis kod Python untuk mencipta Prosedur dan fungsi storan tersuai. Mula-mula, import modul yang diperlukan dan sambungkan ke pangkalan data:
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="testdb"
)

mycursor = mydb.cursor()
Salin selepas log masuk
  1. Menulis prosedur tersimpan tersuai
    Di bawah ialah contoh mencipta prosedur tersimpan tersuai. Prosedur tersimpan ini akan menanyakan pengguna berdasarkan julat umur yang ditentukan dan mengembalikan hasilnya. Sintaks prosedur tersimpan adalah seperti berikut:
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()
Salin selepas log masuk
  1. Panggil prosedur tersimpan tersuai
    Selepas mencipta prosedur tersimpan, kita boleh menggunakan kod berikut untuk memanggilnya:
def call_procedure():
  mycursor.callproc("get_users_by_age", (18, 30))
  for result in mycursor.stored_results():
    for row in result.fetchall():
      print(row)
Salin selepas log masuk
  1. Tulis fungsi tersuai
    Sebagai tambahan kepada prosedur tersimpan, kami juga boleh Mencipta fungsi tersuai. Di bawah ialah contoh mencipta fungsi tersuai. Fungsi ini akan mengembalikan bilangan pengguna dalam lingkungan umur yang ditentukan. Sintaks fungsi tersebut adalah seperti berikut:
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()
Salin selepas log masuk
  1. Panggil fungsi tersuai
    Selepas mencipta fungsi, kita boleh menggunakan kod berikut untuk memanggilnya:
def call_function():
  mycursor.callfunc("count_users_by_age", int, (18, 30))
Salin selepas log masuk

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()
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!