Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 쿼리에서 테이블과 열 주위에 따옴표가 정말 필요합니까?

<시간/>

테이블 이름이나 열 이름이 예약어인 경우 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)