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

MySQL에서 별표(*)가 포함된 컬럼 이름을 SELECT하는 방법

MySQL에서 별표(*)가 포함된 컬럼 이름을 직접 SELECT할 수 있을까?

결론부터 말씀드리면, 일반적인 방식으로는 불가능합니다. 별표(*)는 SQL에서 특수한 의미를 가지기 때문에 그대로 사용하면 구문 오류가 발생합니다. 하지만 역따옴표(backtick, `)로 필드 이름을 감싸주면 이 문제를 손쉽게 해결할 수 있습니다.

아래에서 별표(*)가 포함된 컬럼 이름 `Name*`을 가진 테이블을 생성하고, 해당 컬럼을 조회하는 과정을 단계별로 살펴보겠습니다.

1단계: 별표가 포함된 컬럼명으로 테이블 생성

먼저 컬럼 이름에 별표(*)가 들어간 테이블을 생성합니다. 이때도 반드시 역따옴표로 컬럼명을 감싸야 합니다.

mysql> create table DemoTable
    -> (
    -> `Name*` varchar(20)
    -> );
Query OK, 0 rows affected (2.03 sec)

2단계: insert 명령으로 레코드 삽입

insert 문을 사용하여 테이블에 샘플 데이터를 입력합니다.

mysql> insert into DemoTable(`Name*`) values('Chris Brown');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(`Name*`) values('David Miller');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(`Name*`) values('John Doe');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(`Name*`) values('John Smith');
Query OK, 1 row affected (0.23 sec)

3단계: select 문으로 전체 데이터 확인

테이블에 저장된 모든 레코드를 조회하여 정상적으로 입력되었는지 확인합니다.

mysql> select *from DemoTable;

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

+--------------+
| Name*       |
+--------------+
| Chris Brown  |
| David Miller |
| John Doe    |
| John Smith   |
+--------------+
4 rows in set (0.00 sec)

4단계: 별표(*)가 포함된 컬럼 이름으로 SELECT하기

다음은 별표(*)가 포함된 필드 이름을 직접 선택하는 쿼리입니다. 핵심은 컬럼명을 역따옴표(`)로 감싸는 것입니다.

mysql> select `Name*` from DemoTable;

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

+--------------+
| Name*       |
+--------------+
| Chris Brown  |
| David Miller |
| John Doe    |
| John Smith   |
+--------------+
4 rows in set (0.00 sec)

정리

MySQL에서 공백, 별표(*), 하이픈(-) 등 특수 문자가 포함된 컬럼 이름은 일반적인 방법으로 참조할 수 없으며, 반드시 역따옴표(`)로 감싸야 합니다. 다만 이러한 컬럼명은 쿼리 작성 시 실수를 유발할 수 있으므로, 가급적 영문자와 숫자, 밑줄(_)만 사용하는 것이 좋은 개발 습관입니다.