MySQL을 쓰다 보면 SQL 문에 `(백틱), '(작은따옴표), "(큰따옴표) 같은 기호들이 자주 등장합니다.
헷갈리기 쉬운 이 기호들의 용도를 정리해 보겠습니다.
백틱(`) : 식별자(identifier)를 감싸는 기호
MySQL Workbench가 자동 생성하는 CREATE TABLE 문을 보면, 데이터베이스 이름, 테이블 이름, 컬럼 이름에 모두 **백틱(`)**이 붙어 있는 걸 볼 수 있습니다.
예시:
CREATE TABLE `course_rating`.`student` (
`id` INT NOT NULL,
PRIMARY KEY (`id`)
);
꼭 써야 할까?
사실 대부분의 경우 백틱을 쓰지 않아도 SQL 문은 잘 실행됩니다. 하지만 다음과 같은 경우에는 백틱이 필요합니다.
- 가독성 확보
→ 어느 부분이 사용자가 직접 정의한 이름인지 명확하게 보여줍니다. - 예약어(키워드)와 충돌 방지
→ MySQL 문법에 이미 존재하는 키워드로 이름을 지을 때 필수입니다.
예시:
-- 백틱 없으면 오류 발생
CREATE TABLE SELECT (id INT);
-- 백틱을 쓰면 정상 실행
CREATE TABLE `SELECT` (id INT);
하지만 실제로는 예약어를 이름으로 쓰면 혼동이 크기 때문에 권장되지 않습니다.
작은따옴표(')와 큰따옴표(") : 문자열 값
문자열 타입(CHAR, VARCHAR)의 값을 SQL에서 쓸 때는 작은따옴표 또는 큰따옴표로 감싸야 합니다.
예시:
INSERT INTO student (name) VALUES ('홍길동');
INSERT INTO student (name) VALUES ("김철수");
즉,
- 백틱(`) → 객체 이름(식별자)
- 작은따옴표('), 큰따옴표(") → 문자열 값
이렇게 기억하면 혼동이 없습니다.
정리
- `(백틱) : 데이터베이스, 테이블, 컬럼 등 식별자를 감쌈
- '(작은따옴표) / "(큰따옴표) : 문자열 값을 감쌈
- 백틱은 대부분 생략해도 되지만, 예약어 충돌 시 필수
- 문자열 값은 항상 따옴표로 감싸야 함
앞으로 SQL 문을 작성할 때 이 규칙만 기억하면,
Workbench에서 보이는 백틱(`)이나 따옴표를 봐도 당황하지 않을 수 있습니다.
'컴퓨터 과학 > 데이터 베이스' 카테고리의 다른 글
| MySQL에서 행의 생성/갱신 시각 관리하기 (0) | 2025.08.19 |
|---|---|
| MySQL 생성(Create), 수정(Update/Alter), 삭제(Delete/Drop) 문법 정리 (0) | 2025.08.19 |
| SQL 상관 서브쿼리와 비상관 서브쿼리 (1) | 2025.08.18 |
| SQL Derived Table(파생 테이블)과 Alias의 필요성 (1) | 2025.08.18 |
| SQL 서브쿼리(Subquery)의 결과 형태 정리 (1) | 2025.08.18 |