Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 저장 프로시저(Stored Procedure)로 테이블 생성하는 방법

개요

MySQL에서는 저장 프로시저(Stored Procedure)를 활용하면 테이블 생성 작업을 자동화하고 재사용할 수 있습니다. 이 글에서는 세 개의 컬럼을 가진 테이블을 생성하는 저장 프로시저를 만드는 방법을 단계별로 살펴보겠습니다.

1. 테이블을 생성하는 저장 프로시저 작성

아래는 테이블을 생성하는 저장 프로시저를 만드는 쿼리입니다. 여기서는 Id, UserFirstName, UserLastName 세 개의 컬럼을 가진 DemoTable이라는 테이블을 생성합니다. Id 컬럼은 자동 증가(AUTO_INCREMENT)되는 기본 키(PRIMARY KEY)로 설정했습니다.

mysql> DELIMITER //
mysql> CREATE PROCEDURE Stored_Procedure_CreatingTable()
BEGIN
  create table DemoTable
  (
  Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
  UserFirstName varchar(20),
  UserLastName varchar(20)
  );
END;
//
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;

주요 포인트:

  • DELIMITER //: 프로시저 내부의 세미콜론(;)과 구문 종료 기호를 구분하기 위해 구분자를 변경합니다.
  • AUTO_INCREMENT: 새 레코드가 추가될 때마다 Id 값이 자동으로 1씩 증가합니다.
  • PRIMARY KEY: Id 컬럼을 기본 키로 지정하여 각 행을 고유하게 식별합니다.

2. 저장 프로시저 호출하기

작성한 저장 프로시저는 CALL 명령어를 사용하여 실행할 수 있습니다.

mysql> call Stored_Procedure_CreatingTable();
Query OK, 0 rows affected (0.18 sec)

프로시저가 정상적으로 실행되면 DemoTable이 데이터베이스에 생성됩니다.

3. 테이블 구조 확인하기

DESC 명령어를 사용하여 생성된 테이블의 구조를 확인할 수 있습니다.

mysql> desc DemoTable;

위 명령어를 실행하면 다음과 같은 결과가 출력됩니다.

+---------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+----------------+
| Id | int(11) | NO | PRI | NULL | auto_increment |
| UserFirstName | varchar(20) | YES | | NULL | |
| UserLastName | varchar(20) | YES | | NULL | |
+---------------+-------------+------+-----+---------+----------------+
3 rows in set (0.04 sec)

정리

이처럼 MySQL 저장 프로시저를 사용하면 반복적인 테이블 생성 작업을 하나의 프로시저로 관리할 수 있습니다. 특히 여러 환경에 동일한 스키마를 배포해야 하거나, 초기화 스크립트를 자동화해야 하는 경우 저장 프로시저를 활용하면 업무 효율성을 크게 높일 수 있습니다.