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

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

MySQL에서는 from을 컬럼 이름으로 직접 사용할 수 없습니다. 그 이유는 from이 MySQL의 예약어(reserved word)이기 때문입니다. 예약어는 SQL 문법에서 특별한 의미를 가지는 키워드로, SELECT 문에서 데이터를 조회할 대상 테이블을 지정할 때 사용됩니다.

하지만 백틱(`) 기호를 사용하면 예약어인 from도 컬럼 이름으로 사용할 수 있습니다. 아래에서 실제 예제를 통해 확인해 보겠습니다.

1. 테이블 생성하기

먼저 예약어 from을 컬럼 이름으로 포함하는 테이블을 생성합니다. 이때 반드시 백틱으로 감싸야 합니다.

mysql> create table DemoTable
    (
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `from` varchar(100),
    Name varchar(10)
    );
Query OK, 0 rows affected (0.92 sec)

2. 레코드 삽입하기

INSERT 문을 사용하여 테이블에 데이터를 추가합니다. 여기서도 from 컬럼은 백틱으로 감싸야 오류 없이 실행됩니다.

mysql> insert into DemoTable(`from`,Name) values('US','John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(`from`,Name) values('UK','Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(`from`,Name) values('AUS','David');
Query OK, 1 row affected (0.12 sec)

3. 전체 레코드 조회하기

SELECT 문으로 테이블의 모든 데이터를 확인해 보겠습니다.

mysql> select * from DemoTable;

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

+----+------+-------+
| Id | from | Name  |
+----+------+-------+
| 1  | US   | John  |
| 2  | UK   | Carol |
| 3  | AUS  | David |
+----+------+-------+
3 rows in set (0.00 sec)

4. 'from' 컬럼만 조회하기

예약어인 from을 컬럼 이름으로 사용하여 데이터를 조회하는 쿼리는 다음과 같습니다.

mysql> select `from` from DemoTable;

실행 결과는 다음과 같습니다.

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

정리 및 주의사항

MySQL에서 예약어를 컬럼 이름으로 사용하려면 반드시 백틱(`)으로 감싸야 한다는 점을 기억하세요. 다만, 가독성과 유지보수를 고려하면 가능한 한 예약어와 겹치지 않는 컬럼 이름(예: origin_from, src_country 등)을 사용하는 것이 좋습니다. 예약어를 컬럼 이름으로 사용하면 매번 백틱을 입력해야 하는 번거로움이 있고, 실수로 백틱을 누락하면 SQL 구문 오류가 발생할 수 있기 때문입니다.