MariaDB / Query / 주석
MariaDB 쿼리에서는 #, 뒤에 공백이 있는 --, 그리고 /* ... */로 주석을 작성합니다. #과 --는 줄 끝까지, /* ... */는 닫는 기호까지 적용됩니다. 다만 /*! ... */와 /*M! ... */는 조건에 따라 SQL을 실행하는 특수 형식이므로 일반 설명 주석과 구분해야 합니다.
한 줄 주석과 -- 뒤의 공백
다음은 테이블 없이 실행할 수 있는 완전한 SELECT 예제입니다. -- 바로 뒤에는 일반 공백 하나를 넣는 습관이 안전합니다. #은 MariaDB에서 지원하지만 다른 데이터베이스로 옮길 SQL이라면 해당 제품의 주석 문법을 따로 확인합니다.
# 두 수를 더합니다.
SELECT 4 + 3 AS total; -- 결과는 7입니다.
-- 뺄셈과 음수 부호를 비교합니다.
SELECT 8 - 2 AS subtraction,
8--2 AS subtract_negative;
첫 조회는 7, 둘째는 6·10을 반환합니다. 8--2에는 두 하이픈 뒤 공백이 없으므로 “8에서 음수 2를 빼기”로 해석됩니다. --2를 주석이라고 생각하고 붙이면 계산이나 구문의 의미가 달라질 수 있습니다. 실행할 문장 뒤에 설명을 쓰려면 위 예제처럼 세미콜론으로 문장을 끝내고 -- 뒤에 공백을 둡니다.
여러 줄 주석과 문자열 안의 기호
/*
실습용 산술식입니다.
주석 안의 줄바꿈은 쿼리 결과에 영향을 주지 않습니다.
*/
SELECT 6 /* 첫 번째 값 */ + 5 AS total;
SELECT '-- /* # */' AS literal_text;
첫 결과는 11입니다. 일반 블록 주석은 수식 사이에도 넣을 수 있지만 키워드나 이름을 쪼개는 방식은 피하고 읽기 쉬운 경계에 배치합니다. 둘째 결과는 -- /* # */라는 문자열 그대로입니다. 따옴표 안에 들어 있는 기호는 그 위치에서 주석 시작으로 취급되지 않습니다.
블록 주석은 반드시 */로 닫습니다. 중첩한 /* ... /* ... */ ... */ 구조는 지원·권장되는 사용법이 아니므로 설명 안에 같은 닫는 기호를 그대로 넣거나 블록 안에 또 블록 주석을 만드는 것을 피하세요. 닫는 기호 누락은 뒤쪽 SQL까지 삼키거나 입력 대기·구문 오류를 만들 수 있습니다. 대화형 클라이언트의 입력 대기 상태에서는 현재 입력을 취소하고 닫는 기호와 구분자를 확인한 뒤 다시 작성합니다.
주석으로 조건을 지울 때의 영향
주석 처리로 WHERE 조건을 잠시 빼면 대상 행 전체가 달라집니다. 아래는 learning 데이터베이스의 별도 실습 테이블에서 SELECT만 비교하는 예제입니다. CREATE·INSERT·SELECT 권한이 필요하고 comment_scope_demo가 이미 있다면 다른 실습 이름을 사용합니다.
USE learning;
CREATE TABLE comment_scope_demo (id INT PRIMARY KEY, active TINYINT NOT NULL);
INSERT INTO comment_scope_demo VALUES (1,1), (2,0), (3,1);
SELECT id FROM comment_scope_demo
WHERE active = 1
ORDER BY id;
SELECT id FROM comment_scope_demo
-- WHERE active = 1
ORDER BY id;
첫 조회는 id=1·3, 둘째는 id=1·2·3을 반환합니다. 주석을 제거하면 필터가 다시 적용됩니다. UPDATE나 DELETE에서 조건을 주석 처리하면 전체 행을 변경할 수 있으므로, 실제 변경 전에 같은 조건의 SELECT로 범위를 다시 확인합니다. 여러 줄 조건에서 AND·OR만 남는 등 구문이 끊어지지 않았는지도 살펴야 합니다.
실행 가능한 특수 주석과 클라이언트 차이
MariaDB 주석 문법에는 MySQL 계열의 /*! ... */와 MariaDB 전용 /*M! ... */ 형식이 정의되어 있습니다. 아래는 데이터 변경 없이 동작을 비교하는 예제입니다.
SELECT 5 /* +2 */ AS plain_comment;
SELECT 5 /*! +2 */ AS executable_comment;
SELECT 5 /*M! +2 */ AS mariadb_comment;
MariaDB에서는 5·7·7이 됩니다. 일반 주석에서 무시된 +2가 특수 형식에서는 실제 수식의 일부로 실행됩니다. 버전 번호를 넣은 형식은 적용 버전 조건과 예외가 있으므로, 덤프 파일에 있는 특수 주석을 단순한 설명이라고 보고 삭제하거나 실행해도 무해하다고 판단하면 안 됩니다. 실행 구간 내부에 문장 구분자를 넣는 것도 허용되지 않습니다.
SQL 파일의 주석과 서버가 전달받는 주석은 다를 수 있습니다. mariadb 명령행 클라이언트는 기본적으로 일반 주석을 버리며 --comments 옵션으로 보존할 수 있습니다. 편집기·드라이버·프록시의 처리도 별도로 확인합니다. 이 옵션이 특수 실행 주석을 일반 주석으로 바꾸는 것은 아닙니다. 주석은 비밀정보를 숨기는 수단이 아니므로 비밀번호·토큰·개인정보를 적지 말고, 쿼리의 의도나 조건을 선택한 이유를 설명하는 데 사용하세요.




