본문 바로가기
Programming/SQL

[TIL 0626][SQL] MySQL 쿼리를 작성할 때 따옴표를 붙여줘야 하는 경우

by 용스토리랜드 2024. 6. 26.

개인적으로 많이 사용하는 것은 형광펜으로 마킹했습니다. 

 

1. 문자열 값 (Single Quotes)

문자열 값을 쿼리에서 사용할 때는 반드시 단일 따옴표 (')를 사용합니다.

SELECT * 
FROM employees 
WHERE first_name = 'John';

2. 날짜 및 시간 값 (Single Quotes)

날짜 및 시간 값도 문자열처럼 단일 따옴표로 감싸야 합니다.

SELECT * 
FROM employees 
WHERE hire_date = '2023-06-25';

3. 컬럼 및 테이블 이름 (Backticks)

컬럼이나 테이블 이름에 예약어가 포함되거나, 공백, 특수 문자 등이 포함된 경우 따옴표(``)을 사용합니다.

SELECT `select`, `from`, `order` 
FROM my_table;

4. SQL 예약어 회피 (Backticks)

SQL 예약어를 컬럼 이름으로 사용해야 할 때 백틱을 사용합니다.

SELECT `select`, `table`, `index` FROM `data`;

5. 조인 및 서브쿼리에서의 별칭 (As Keyword with Backticks)

별칭을 사용할 때 따옴표를 사용하여 혼동을 피합니다.

SELECT e 'first_name', d 'department_name'
FROM 'employees' AS e
JOIN `departments` AS d
ON e.`department_id` = d.`department_id`;

6. 문자열 결합 (Concatenation)

문자열 결합 시 따옴표를 올바르게 사용하여 오류를 방지합니다.

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;

7. JSON 데이터 및 키 (Single Quotes for Values, Double Quotes for JSON Keys)

JSON 데이터를 다룰 때는 내부 값에 단일 따옴표, JSON 키에는 이중 따옴표를 사용합니다.

SELECT JSON_EXTRACT(`json_column`, '$.key')
FROM json_table
WHERE json_column = '{"key": "value"}';

8. LIKE 문 (Single Quotes with Wildcards)

LIKE 연산자를 사용할 때도 단일 따옴표와 와일드카드 문자를 조합합니다.

SELECT *
FROM employees
WHERE first_name LIKE 'Jo%';

주의사항 요약

  1. 문자열 값: 단일 따옴표 사용.
  2. 날짜 및 시간 값: 단일 따옴표 사용.
  3. 컬럼 및 테이블 이름: 예약어 및 특수 문자가 포함된 경우 백틱 사용.
  4. SQL 예약어: 컬럼 및 테이블 이름으로 사용할 때 백틱 사용.
  5. 별칭 사용: 백틱 사용으로 명확히 구분.
  6. 문자열 결합: 적절한 따옴표 사용으로 오류 방지.
  7. JSON 데이터: 내부 값은 단일 따옴표, 키는 이중 따옴표 사용.
  8. LIKE 문: 단일 따옴표와 와일드카드 문자 결합.

추가 팁

  • SQL 인젝션 공격을 방지하기 위해 항상 사용자 입력을 처리할 때는 적절한 방법을 사용하십시오.
  • 쿼리를 작성할 때 가독성을 높이기 위해 코드 스타일을 통일하는 것이 좋습니다.
반응형