결론부터 말씀드리면, MySQL에서 테이블을 생성할 때 중괄호({})는 사용할 수 없습니다. 테이블의 컬럼 정의는 반드시 열림 괄호와 닫힘 괄호, 즉 소괄호 ( )로 감싸야 합니다. 아래 기본 문법을 참고하세요.
테이블 생성 기본 문법
CREATE TABLE IF NOT EXISTS yourTableName ( yourColumnName1 dataType1, yourColumnName2 dataType2, ... PRIMARY KEY(yourColumnName1) );
위 문법에서 볼 수 있듯이, 컬럼 목록은 중괄호가 아닌 소괄호 안에 쉼표(,)로 구분하여 작성합니다. 이제 실제 예제를 통해 살펴보겠습니다.
예제: 테이블 생성하기
먼저 DemoTable이라는 이름의 테이블을 생성해 보겠습니다.
mysql> CREATE TABLE IF NOT EXISTS DemoTable ( CustomerId int, CustomerName varchar(20), CustomerAge int, PRIMARY KEY(CustomerId) ); Query OK, 0 rows affected (0.58 sec)
테이블이 성공적으로 생성되었습니다. CustomerId를 기본 키(PRIMARY KEY)로 지정하여 각 고객 레코드를 고유하게 식별할 수 있도록 했습니다.
예제: 레코드 삽입하기
INSERT 명령어를 사용해 테이블에 몇 개의 레코드를 추가해 보겠습니다.
mysql> insert into DemoTable values(1,'Chris',25); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(2,'Robert',34); Query OK, 1 row affected (0.15 sec)
예제: 저장된 데이터 조회하기
SELECT 문을 사용해 테이블의 모든 레코드를 확인할 수 있습니다.
mysql> select *from DemoTable;
실행 결과
+------------+--------------+-------------+ | CustomerId | CustomerName | CustomerAge | +------------+--------------+-------------+ | 1 | Chris | 25 | | 2 | Robert | 34 | +------------+--------------+-------------+ 2 rows in set (0.00 sec)
정리
MySQL에서 CREATE TABLE 문을 작성할 때는 다음 사항을 기억하세요.
- 테이블 구조(컬럼 정의)는 반드시 소괄호 ( )로 감싸야 하며, 중괄호({})를 사용하면 문법 오류가 발생합니다.
- IF NOT EXISTS 옵션을 사용하면 동일한 이름의 테이블이 이미 존재할 때 발생하는 오류를 방지할 수 있습니다.
- PRIMARY KEY 제약 조건도 소괄호 안에 함께 정의할 수 있습니다.