MySQL 테이블 이름에 밑줄 사용하기
MySQL에서는 테이블 이름에 밑줄(_)을 사용할 수 있습니다. 다만, 일반적인 방법으로 생성하려고 하면 오류가 발생할 수 있으며, 이 경우 테이블 이름을 작은따옴표(' ')가 아닌 백틱(` `)으로 감싸주어야 합니다.
먼저, 작은따옴표로 테이블 이름을 감쌌을 때 어떤 문제가 발생하는지 살펴보겠습니다.
잘못된 예시: 작은따옴표 사용
mysql> create table 'Demo_Table725'(
ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName varchar(100),
ClientAge int,
ClientCountryName varchar(100),
isMarried boolean
);위 쿼리는 백틱이 아닌 작은따옴표를 사용했기 때문에 다음과 같은 1064 구문 오류가 발생합니다.
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 ''Demo_Table725' ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName v' at line 1
올바른 예시: 백틱 사용
이제 위 코드를 수정하여 동일한 테이블을 백틱으로 감싸서 생성해 보겠습니다.
mysql> create table `Demo_Table725`(
ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
ClientName varchar(100),
ClientAge int,
ClientCountryName varchar(100),
isMarried boolean
);
Query OK, 0 rows affected (0.58 sec)테이블이 성공적으로 생성되었습니다.
데이터 삽입하기
INSERT 명령을 사용하여 테이블에 레코드를 추가합니다. 데이터를 삽입할 때도 마찬가지로 테이블 이름을 백틱으로 감싸야 합니다.
mysql> insert into `Demo_Table725`(ClientName,ClientAge,ClientCountryName,isMarried) values('John',34,'US',true);
Query OK, 1 row affected (0.40 sec)
mysql> insert into `Demo_Table725`(ClientName,ClientAge,ClientCountryName,isMarried) values('Chris',28,'UK',false);
Query OK, 1 row affected (0.25 sec)데이터 조회하기
SELECT 문을 사용하여 테이블의 모든 레코드를 확인해 보겠습니다.
mysql> select *from `Demo_Table725`;
실행 결과는 다음과 같습니다.
+----------+------------+-----------+-------------------+-----------+ | ClientId | ClientName | ClientAge | ClientCountryName | isMarried | +----------+------------+-----------+-------------------+-----------+ | 1 | John | 34 | US | 1 | | 2 | Chris | 28 | UK | 0 | +----------+------------+-----------+-------------------+-----------+ 2 rows in set (0.00 sec)
정리
MySQL에서 밑줄이 포함된 테이블 이름을 사용할 때는 반드시 백틱(` `)으로 감싸야 한다는 점을 기억하세요. 작은따옴표를 사용하면 SQL 구문 오류(ERROR 1064)가 발생하므로 주의해야 합니다.