MySQL에서 select는 예약어(reserved word)이기 때문에 일반적인 방법으로는 이 단어를 테이블 이름으로 사용할 수 없습니다. 하지만 백틱(`)으로 단어를 감싸면 예약어와 동일한 이름의 테이블도 생성할 수 있습니다.
1. 테이블 생성하기
먼저 'select'라는 이름의 테이블을 생성해 보겠습니다. 테이블 이름을 백틱으로 감싸는 것이 핵심입니다.
mysql> create table `select` -> ( -> Number int -> ); Query OK, 0 rows affected (0.79 sec)
테이블이 정상적으로 생성되었습니다.
2. 데이터 삽입하기
insert 명령을 사용해 테이블에 레코드를 추가합니다. 이 경우에도 테이블 이름은 반드시 백틱으로 감싸야 합니다.
mysql> insert into `select` values(10); Query OK, 1 row affected (0.16 sec) mysql> insert into `select` values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into `select` values(30); Query OK, 1 row affected (0.12 sec)
3. 데이터 조회하기
select 문을 사용해 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from `select`;
출력 결과
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+--------+ | Number | +--------+ | 10 | | 20 | | 30 | +--------+ 3 rows in set (0.00 sec)
정리
'select'처럼 MySQL의 예약어를 테이블 이름으로 사용하고 싶다면, 테이블 생성, 데이터 삽입, 조회 등 모든 SQL 문에서 해당 이름을 반드시 백틱(`)으로 감싸야 한다는 점을 기억하세요. 다만 가독성과 유지보수를 고려하면 예약어를 피하고 다른 이름을 사용하는 것이 좋습니다.