>  기사  >  데이터 베이스  >  MySQL 쿼리 저장 프로시저

MySQL 쿼리 저장 프로시저

WBOY
WBOY원래의
2023-05-14 11:11:07513검색

MySQL은 일반적으로 사용되는 데이터베이스 시스템으로, 사용자가 여러 실행을 위해 일련의 SQL 문을 패키지화할 수 있는 저장 프로시저 기능을 제공합니다. MySQL의 저장 프로시저 기능을 이용하면 데이터를 쉽게 관리하고 운용할 수 있습니다.

저장 프로시저는 미리 컴파일된 SQL 문으로, 데이터베이스에 프로그램 형태로 저장되어 필요할 때 호출할 수 있습니다. 저장 프로시저는 매개변수를 승인하고 결과를 반환할 수 있습니다. 장점으로는 향상된 애플리케이션 보안, 데이터 일관성 및 코드 재사용이 있습니다.

저장 프로시저 구문

저장 프로시저 구문은 다음과 같습니다.

DELIMITER //

CREATE PROCEDURE 프로시저_이름([IN/OUT] 매개변수_이름 데이터_유형)

BEGIN

--SQL 문

END //

DELIMITER ;

명령문 설명:

  • DELIMITER: 구분 기호를 지정합니다. 기본값은 세미콜론 ";"입니다.
  • CREATE PROCEDURE: 저장 프로시저를 생성하는 키워드입니다.
  • procedure_name: 저장 프로시저의 이름입니다.
  • IN/OUT: 저장 프로시저에 전달되는 매개변수를 정의합니다. IN은 저장 프로시저에 매개변수를 전달하는 것을 의미하고, OUT은 저장 프로시저에서 매개변수 값을 반환하는 것을 의미합니다.
  • parameter_name: 매개변수의 이름입니다.
  • data_type: 매개변수의 데이터 유형입니다.
  • BEGIN: 저장 프로시저의 시작 위치입니다.
  • END: 저장 프로시저의 끝 위치입니다.

저장 프로시저 생성

다음은 저장 프로시저 생성 예입니다.

DELIMITER //

CREATE PROCEDURE get_employee(IN 직원_id INT, OUT 직원 이름 VARCHAR(50))get_employee(IN employee_id INT, OUT employee_name VARCHAR(50))
BEGIN

SELECT name INTO employee_name FROM employees WHERE id = employee_id;

END //

DELIMITER ;

该存储过程名为“get_employee”,接受一个名为“employee_id”的整数类型参数,返回一个名为“employee_name”的字符串类型参数。存储过程中的SQL语句使用SELECT语句从“employees”表中选择名字为“employee_id”的员工,并将其名字赋值给“employee_name”的参数。

存储过程的执行

存储过程创建完成后,可以使用CALL语句来执行存储过程。

CALL get_employee BEGIN
rrreee

END //

DELIMITER ;

저장 프로시저의 이름은 "get_employee"이고 "employee_id"라는 정수 유형 매개변수를 허용하며 "employee_name"이라는 문자열 유형 매개변수를 반환합니다. 저장 프로시저의 SQL 문은 SELECT 문을 사용하여 "employees" 테이블에서 "employee_id"라는 직원을 선택하고 해당 이름을 "employee_name" 매개 변수에 할당합니다.
  1. 저장 프로시저 실행
저장 프로시저가 생성된 후 CALL 문을 사용하여 저장 프로시저를 실행할 수 있습니다.

CALL get_employee(2, @employee_name);
    SELECT @employee_name;
  1. "get_employee" 저장 프로시저를 호출하고 매개변수 "2"를 저장 프로시저에 전달합니다. 저장 프로시저는 직원 이름을 반환하고 이를 "@employee_name"이라는 변수에 저장합니다. 마지막으로 SELECT 문을 사용하여 이 변수의 값을 표시합니다.

저장 프로시저의 장점

  1. 네트워크 트래픽 감소

저장 프로시저는 데이터베이스에서 실행되므로 네트워크 트래픽을 줄여 애플리케이션 성능을 향상시킬 수 있습니다. 저장 프로시저를 통해 여러 번 실행해야 하는 SQL 문을 함께 패키지화할 수 있어 네트워크 통신 횟수를 줄일 수 있습니다.

  1. 프로그래밍 부담 감소

저장 프로시저는 필요할 때 재사용할 수 있도록 SQL 문을 프로그램에 캡슐화합니다. 프로그래머가 모든 애플리케이션에 대해 SQL 문을 작성할 필요가 없기 때문에 프로그래밍 부담이 줄어듭니다.

향상된 보안

🎜 저장 프로시저를 사용하면 데이터베이스 관리자가 데이터베이스에 대한 사용자 액세스를 제어할 수 있으므로 보안이 향상될 수 있습니다. 또한 저장 프로시저를 사용하면 프로그래밍 언어 결함을 보완하여 사이버 공격으로부터 데이터베이스를 더 잘 보호할 수 있습니다. 🎜🎜🎜Simplified Maintenance🎜🎜🎜저장 프로시저를 사용하면 애플리케이션을 더 쉽게 유지 관리할 수 있습니다. SQL 문을 수정해야 하는 경우 해당 SQL 문을 사용하는 각 애플리케이션을 수정하지 않고 저장 프로시저에서만 수정하면 됩니다. 🎜🎜결론🎜🎜저장 프로시저는 애플리케이션의 성능, 보안 및 유지 관리성을 향상시킬 수 있는 MySQL의 강력한 기능입니다. 저장 프로시저를 통해 여러 SQL 문을 함께 패키지화할 수 있으며 매개 변수를 허용하고 결과를 반환할 수 있습니다. 저장 프로시저를 사용하면 애플리케이션의 프로그래밍 부담이 크게 줄어들고 생산 효율성이 향상됩니다. 🎜

위 내용은 MySQL 쿼리 저장 프로시저의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.