컴퓨터 과학/데이터 베이스

MySQL에서 백틱(`), 작은따옴표(’), 큰따옴표(”)의 용도 정리

Data Jun 2025. 8. 18. 23:51

MySQL을 쓰다 보면 SQL 문에 `(백틱), '(작은따옴표), "(큰따옴표) 같은 기호들이 자주 등장합니다.
헷갈리기 쉬운 이 기호들의 용도를 정리해 보겠습니다.

 

백틱(`) : 식별자(identifier)를 감싸는 기호

MySQL Workbench가 자동 생성하는 CREATE TABLE 문을 보면, 데이터베이스 이름, 테이블 이름, 컬럼 이름에 모두 **백틱(`)**이 붙어 있는 걸 볼 수 있습니다.

예시:

CREATE TABLE `course_rating`.`student` (
  `id` INT NOT NULL,
  PRIMARY KEY (`id`)
);

꼭 써야 할까?

사실 대부분의 경우 백틱을 쓰지 않아도 SQL 문은 잘 실행됩니다. 하지만 다음과 같은 경우에는 백틱이 필요합니다.

  1. 가독성 확보
    → 어느 부분이 사용자가 직접 정의한 이름인지 명확하게 보여줍니다.
  2. 예약어(키워드)와 충돌 방지
    → 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에서 보이는 백틱(`)이나 따옴표를 봐도 당황하지 않을 수 있습니다.