Python을 사용하여 MySQL에서 사용자 정의 저장 프로시저 및 함수를 작성하는 방법
MySQL은 일반적으로 사용되는 관계형 데이터베이스 관리 시스템이며 Python은 강력한 프로그래밍 언어입니다. 두 가지를 결합하면 보다 유연하고 효율적인 데이터베이스 운영이 가능해집니다. MySQL의 저장 프로시저와 함수는 일반적으로 사용되는 작업 논리를 캡슐화하고 반복되는 코드 작성을 줄이는 데 도움이 됩니다. 이 기사에서는 Python을 사용하여 특정 코드 예제와 함께 사용자 정의 저장 프로시저 및 함수를 작성하는 방법을 소개합니다.
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))
이 시점에서 사용자 정의 저장소를 작성하는 방법을 배웠습니다. MySQL에서는 Python 프로시저와 함수를 사용합니다. Python과 MySQL을 결합함으로써 데이터베이스 작업을 보다 유연하게 수행하고 코드 재사용성과 유지 관리성을 향상시킬 수 있습니다.
전체 코드는 다음과 같습니다.
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()
위 내용은 Python을 사용하여 MySQL에서 사용자 정의 저장 프로시저와 함수를 작성하는 방법입니다. 도움이 되길 바랍니다. 저장 프로시저와 함수를 합리적으로 활용함으로써 데이터베이스 운영의 효율성과 유연성을 높이고 더욱 강력한 기능을 구현할 수 있습니다.
위 내용은 Python을 사용하여 MySQL에서 사용자 정의 저장 프로시저 및 함수를 작성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!