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

MySQL에서 숫자 이름으로 데이터베이스를 생성할 수 있을까요?

MySQL에서 숫자 이름 데이터베이스 생성 시 발생하는 문제

MySQL에서는 일반적인 방법으로 숫자만으로 이루어진 이름의 데이터베이스를 생성할 수 없습니다. 아래 예시처럼 쿼리를 실행하면 오류가 발생합니다.

mysql> create database 1233;

위 쿼리를 실행하면 다음과 같은 구문 오류 메시지가 출력됩니다.

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 '1233' at line 1

이는 MySQL이 식별자(데이터베이스, 테이블 이름 등)를 해석하는 규칙 때문입니다. 숫자로만 구성된 이름은 예약어나 기존 객체와 충돌을 일으킬 수 있어 기본적으로 허용되지 않습니다.

백틱(`)을 활용한 해결 방법

숫자 이름으로 데이터베이스를 생성하려면 데이터베이스 이름 앞뒤에 백틱(backtick)을 붙여야 합니다. 백틱은 MySQL에서 식별자임을 명확하게 알려주는 역할을 하며, 키보드의 물결표(~) 자리에 있는 기호입니다.

create database `yourDatabaseName`;

실제 적용 예시

백틱을 사용해 숫자 이름 '1233'으로 데이터베이스를 생성해 보겠습니다.

mysql> create database `1233`;
Query OK, 1 row affected (0.20 sec)

정상적으로 생성된 것을 확인할 수 있습니다. 이제 해당 데이터베이스로 전환해 보겠습니다.

mysql> use `1233`;
Database changed

주의 사항

숫자 이름의 데이터베이스를 생성한 후에도 해당 데이터베이스나 그 안의 객체에 접근할 때마다 백틱을 계속 사용해야 합니다. 또한 가독성과 유지보수 측면에서는 'db_1233'처럼 문자와 숫자를 조합한 이름을 사용하는 것이 더 좋은 실천 방법입니다.