테이블 이름이나 열 이름이 예약어인 경우 MySQL 쿼리에서 테이블 이름과 열 이름 주위에 따옴표를 사용해야 합니다. 테이블 이름과 열 이름 주위에 백틱을 사용해야 합니다. 구문은 다음과 같습니다.
SELECT *FROM `table` where `where`=condition;
다음은 예약어가 있는 따옴표 없이 테이블을 생성하는 쿼리입니다. 미리 정의된 예약어이기 때문에 오류가 발생합니다. 오류는 다음과 같습니다.
mysql> create table table -> ( -> where int -> ); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table ( where int )' at line 1
이제 'table'과 'where'는 예약어이므로 테이블과 열의 이름 주위에 따옴표를 포함합시다. 따옴표가 있는 쿼리는 다음과 같습니다.
mysql> create table `table` -> ( -> `where` int -> ); Query OK, 0 rows affected (0.55 sec)
insert 명령을 사용하여 테이블에 레코드를 삽입합니다. 쿼리는 다음과 같습니다.
mysql> insert into `table`(`where`) values(1); Query OK, 1 row affected (0.13 sec) mysql> insert into `table`(`where`) values(100); Query OK, 1 row affected (0.26 sec) mysql> insert into `table`(`where`) values(1000); Query OK, 1 row affected (0.13 sec)
where 조건의 도움으로 테이블의 특정 레코드를 표시합니다. 쿼리는 다음과 같습니다.
mysql> select *from `table` where `where`=100;
다음은 출력입니다.
+-------+ | where | +-------+ | 100 | +-------+ 1 row in set (0.00 sec)