Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 예약어 'from'을 컬럼명으로 사용하는 방법

MySQL에서 예약어 'from'을 컬럼명으로 사용하는 방법

MySQL에는 SELECT, FROM, WHERE처럼 시스템에서 특별한 의미로 사용되는 예약어(reserved word)가 있습니다. 이러한 예약어를 그대로 컬럼명으로 사용하려고 하면 문법 오류가 발생합니다.

하지만 백틱(`) 기호로 컬럼명을 감싸주면 예약어인 'from'도 정상적으로 컬럼명으로 사용할 수 있습니다. 아래 예제를 통해 단계별로 확인해 보겠습니다.

1. 백틱을 사용해 테이블 생성하기

예약어 'from'을 백틱으로 감싸서 테이블을 생성합니다.

mysql> create table DemoTable1810
     (
     `from` varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

2. 데이터 삽입하기

INSERT 명령어를 사용해 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable1810 values('US');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1810 values('UK');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1810 values('AUS');
Query OK, 1 row affected (0.00 sec)

3. 데이터 조회하기

SELECT 문으로 테이블의 모든 레코드를 조회합니다. 이때도 컬럼명 'from'은 반드시 백틱으로 감싸야 합니다.

mysql> select `from` from DemoTable1810;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+------+
| from |
+------+
| US   |
| UK   |
| AUS  |
+------+
3 rows in set (0.00 sec)

정리

MySQL에서 예약어를 컬럼명으로 사용하려면 해당 이름을 항상 백틱(`)으로 감싸야 합니다. 특히 SELECT 문처럼 FROM 절과 함께 사용되는 경우 컬럼명과 SQL 키워드가 혼동될 수 있으므로, 쿼리 전체에서 일관되게 백틱을 적용하는 것이 안전합니다. 다만 장기적인 유지보수를 고려하면, 애초에 예약어와 겹치지 않는 컬럼명을 사용하는 것이 가장 좋은 방법입니다.