분류 전체보기
[MySQL] CASE 문 사용 방법 및 예시
소개 MySQL의 CASE 문은 SQL 쿼리에서 조건에 따라 다른 결과를 반환하도록 해주는 강력한 제어 흐름 도구입니다. IF 문과 유사하지만 SQL 쿼리 내에서 더 간단하고 유연하게 조건을 정의할 수 있다는 점에서 유용합니다. 이 블로그에서는 CASE 문의 기본 구조와 활용법을 예제와 함께 알아보겠습니다. 주요 특징 - 조건 기반 제어 흐름: 특정 조건에 따라 다른 값을 반환할 수 있음. - 다양한 사용 장소: SELECT, UPDATE, ORDER BY 등 여러 쿼리 구문에 적용 가능. - 간결성 제공: 복잡한 조건문을 간단하게 작성 가능. MySQL CASE 구조 MySQL의 CASE 문은 두 가지 형태로 사용됩니다. 1. 간단한 CASE 문 여기에서는 특정 값이 주어진 조건과 일치하는지를 검..
[MySQL] Local Variable 사용 방법 및 예시
소개 MySQL에서 로컬 변수(Local Variable)는 저장 프로시저나 트리거 등에서 사용되는 일시적인 변수로, 특정 영역 내에서만 유효합니다. 이 변수들은 애플리케이션 내 복잡한 비즈니스 로직을 처리하거나 임시 값을 저장할 때 유용합니다. 이번 포스팅에서는 MySQL 로컬 변수의 스코프(Scope)와 이름 해석(Resolution)에 대해 설명하고 실제 사용 예시를 보며 더 쉽게 이해할 수 있도록 돕겠습니다. 주요 특징 - 로컬 변수의 정의 기간과 유효성 범위: 로컬 변수는 선언된 블록 내부에서만 사용 가능하며, 해당 블록이 종료되면 변수가 소멸됩니다. - 로컬 변수 선언 방식: DECLARE 키워드를 사용해 선언하며, 일반적으로 저장 프로시저나 트리거 안에서 사용됩니다. - 이름 충돌 방지 및..
[MySQL] Local Variable DECLARE 사용 방법 및 예시
MySQL 이해하기 소개 MySQL에서 로컬 변수(Local Variable)는 특정한 저장 프로시저(Stored Procedure)나 함수(Function) 내에서 데이터를 임시로 저장하거나 조작하기 위해 사용됩니다. 로컬 변수는 선언과 동시에 메모리에 할당되며, 해당 프로시저나 함수가 실행되는 동안에만 존재합니다. 이 포스트에서는 DECLARE 문을 사용하여 로컬 변수를 선언하고 사용하는 방법에 대해 살펴볼 것입니다. 간단한 예제도 함께 제공하니 이해를 도와줄 것입니다. 주요 특징 - 범위 제한: 로컬 변수는 선언된 블록 안에서만 유효하며 외부에서는 접근할 수 없습니다. - 타입 선언 필요: 변수는 반드시 데이터 타입과 함께 선언되어야 합니다. - 초기값 설정 불가: DECLARE로 변수를 선언..
[MySQL] DECLARE 사용 방법 및 예시
`DECLARE` 문은 MySQL에서 저장 프로시저(Stored Procedure) 또는 트리거(Trigger) 안에서 변수(variable), 핸들러(handler), 또는 커서(cursor)를 선언할 때 사용하는 주요 키워드입니다. 이 문법은 명령문의 시작 부분에서만 사용 가능하며, 프로시저 및 트리거의 로직 안에서 변수를 관리하고 조작하기 위해 필수적입니다. 이번에는 `DECLARE` 문법과 함께 기본적인 사용법과 예제를 살펴보겠습니다. 주요 특징 - 스코프 제한: `DECLARE`로 선언된 변수는 프로시저 또는 BEGIN...END 블록 내부에서만 유효합니다. - 초기화 없음: `DECLARE`로 선언된 변수는 초깃값을 가지지 않습니다. 사용하려면 별도의 `SET` 문으로 값을..
[MySQL] Statement Labels 사용 방법 및 예시
MySQL Statement Labels는 Flow Control(흐름 제어)을 다루는 구문에서 사용되는 기능으로, 반복문 및 조건문 안에서 코드가 더 명확하고 효율적으로 실행되도록 도와줍니다. 이는 주로 WHILE, LOOP, REPEAT과 같은 블록문(Block Statement)에서 사용됩니다. Statement Labels는 블록에 이름을 붙여 특정 블록의 시작 또는 종료 지점을 가리키며, 이를 통해 복잡한 흐름 제어를 간단히 관리할 수 있습니다. 이 포스트에서는 Statement Labels의 기본 개념과 문법, 그리고 간단한 예제 코드를 통해 어떻게 활용할 수 있는지 설명합니다. 주요 특징 - MySQL에서 Statement Labels 정의: Statement Labels는 로컬 이름을 ..
[MySQL] BEGIN END 사용 방법 및 예시
MySQL의 `BEGIN ... END` Compound Statement는 하나의 블록 안에 여러 SQL 문장을 그룹화하고 실행할 수 있는 기능을 제공합니다. 특히, 저장 프로시저나 저장 함수, 트리거(Trigger)와 같이 복잡한 로직을 처리할 때 유용합니다. 이 문장은 프로그래밍 언어의 코드 블록과 유사하며, 제어 흐름이나 복잡한 작업을 수행할 때 주로 사용됩니다. 기본 구조BEGIN -- SQL 구문들END;이 구조를 통해 여러 SQL 문장을 하나의 트랜잭션 단위로 묶거나 단일 논리 작업으로 처리할 수 있습니다. `BEGIN ... END` 블록 내부에서는 각 문장이 `;`로 끝나야 합니다. 단, SQL로 작성하는 저장 프로시저나 함수에서는 별도의 구문 구분자를 설정(`DELIMITER..
[MySQL] DEALLOCATE PREPARE 사용 방법 및 예시
DEALLOCATE PREPARE는 MySQL에서 이전에 준비된(Prepared) 문장을 해제하는 데 사용되는 명령문입니다. 이는 시스템 리소스를 효율적으로 관리하는 데 중요한 역할을 합니다. 기본 구문: DEALLOCATE PREPARE stmt_name또는 DROP PREPARE stmt_name두 구문은 동일한 기능을 수행하며, 선호도에 따라 선택하여 사용할 수 있습니다. 실제 사용 예시: -- 기본적인 사용 예시PREPARE stmt FROM 'SELECT * FROM users WHERE id = ?';SET @id = 1;EXECUTE stmt USING @id;DEALLOCATE PREPARE stmt;-- 여러 준비문 관리PREPARE stmt1 FROM 'SELECT * FROM prod..
[MySQL] EXECUTE 사용 방법 및 예시
EXECUTE 문은 MySQL에서 준비된 SQL 문(Prepared Statement)을 실행하는 데 사용되는 명령어입니다. 이는 동적 SQL을 안전하고 효율적으로 실행할 수 있게 해주는 중요한 기능입니다. 기본 구문: EXECUTE stmt_name [USING @var_name [, @var_name] ...]EXECUTE 문을 사용하기 위해서는 다음과 같은 3단계 과정이 필요합니다: 1. PREPARE: SQL문을 준비 2. EXECUTE: 준비된 문장 실행 3. DEALLOCATE: 준비된 문장 해제 실제 사용 예시를 통해 살펴보겠습니다:-- 기본적인 사용 예시PREPARE stmt FROM 'SELECT * FROM employees WHERE id = ?';SET @id = 1;EXECUTE ..
[MySQL] PREPARE 사용 방법 및 예시
PREPARE Statement는 MySQL에서 동적 SQL을 실행하기 위한 기능입니다. SQL 쿼리를 미리 준비해두고, 실행 시점에 파라미터를 바인딩하여 실행할 수 있습니다. 기본 구문:PREPARE stmt_name FROM preparable_stmt;EXECUTE stmt_name [USING @var_name [, @var_name] ...];DEALLOCATE PREPARE stmt_name;실제 사용 예시:-- 변수 설정SET @table = 'employees';SET @sql = CONCAT('SELECT * FROM ', @table, ' WHERE id = ?');-- 준비PREPARE stmt FROM @sql;-- 파라미터 설정SET @id = 100;-- 실행EXECUTE stm..
[MySQL] STOP GROUP_REPLICATION 사용 방법 및 예시
STOP GROUP_REPLICATION은 MySQL 서버에서 그룹 복제를 중지하는 명령문입니다. 이 명령어를 실행하면 해당 서버는 그룹에서 탈퇴하고 복제 작업을 중단하게 됩니다. 기본 구문STOP GROUP_REPLICATION;주요 특징 1. 실행 시 해당 서버는 즉시 그룹에서 탈퇴합니다. 2. 진행 중인 트랜잭션은 롤백됩니다. 3. 서버는 단독 운영 모드로 전환됩니다. 4. 실행하려면 GROUP_REPLICATION_ADMIN 권한이 필요합니다. 사용 예시-- 그룹 복제 중지STOP GROUP_REPLICATION;-- 상태 확인SELECT * FROM performance_schema.replication_group_members;주의사항 - 그룹의 마지막 멤버에서 실행할 경우, 그룹이 완전히 종..