[ sql ] 백틱(`)과 홑따옴표(')

DBeaver로 sql문 연습하는 과정에서 계속 오류가 발생해서 검색하는 과정에서 원하던 대답을 찾게되었다...ㅠ

select
	product_id,
    product_name,
    `status`
from
	product
where
	product_id = product_id
    and product_status = 'cancle'

대략 예시를 위와 같이 간단하게 만들어보았다.

select구문에서의

`status` 는 (`)백틱으로 감싸진 형태이고,

where구문에서의

'cancle'은 (')홑따옴표로로 감싸진 형태이다.

DBeaver는 아래의 사진과 같이 SQL script를 제공해주는 기능이 있다.


처음엔 모두 (')홑따옴표로 sql문을 작성하니
You have an error in your SQL syntax;
가 발생하였다.
syntax 에러가 난 부분은 'status'라고 작성한 부분에서 에러가 발생하였다.
왜...왜 (')홑따옴표가 아닌지 검색을 하다가 아래의 참고 링크에서 원하는 해답을 얻을 수 있었다.
(sql문 공부를 역시...다시...)


MySQL 등에서

따옴표(' or ") :  문자열 데이터 입력시 사용
  • 따옴표 사용하는 경우
    • 문자열 데이터 입력시
    • 날짜 / 상수 입력시
    • 단, 홀따옴표 사용 안하는 경우 : 숫자, Bool, Null
백틱(`) : 객체 감쌀때 사용
  • 백틱 사용해야 하는 경우 (구문 오류 발생하지 않기 위함)
    • 객체 감싸는 경우
    • 객체 이름에 공백이 같이 있는 경우
    • 예약어
    • 숫자로 시작하는 경우

참고 - OKKY
참고 - sql 문법

좋은 웹페이지 즐겨찾기