갑자기 많은 개념이 나와서 당황스러울 수 있습니다. 워크벤치로 테이블을 만드는 것을 보면 조금 이해하기 쉬울 것입니다.
Note ≣ ⎮ 워크벤치 사용 시
nodejs 데이터베이스 아래에서 Tables를 마우스 오른쪽 클릭하면 메뉴가 뜹니다. 여기서 Create Table...을 선택합니다.
▲ 그림 7-30 테이블 생성 메뉴
사용자의 이름, 나이, 결혼 여부, 자기소개 메시지를 저장하고 싶다면 다음과 같이 만들면 됩니다. Column Name의 빈칸을 눌러 입력합니다.
▲ 그림 7-31 테이블 생성 화면
Table Name은 테이블의 이름을 의미합니다. Comments는 테이블의 설명입니다. Column Name 다음에 있는 Datatype은 저장할 데이터의 자료형을 뜻합니다. 참고로 Datatype은 옵션에서 골라도 되고 직접 입력해도 됩니다. 그림 7-32처럼 입력합니다.
▲ 그림 7-32 컬럼 정의 화면
자료형 오른쪽을 보면 여러 체크박스에 체크 표시가 되어 있습니다. 다음과 같이 체크 표시합니다.
• PK(PRIMARY KEY)는 기본 키 여부를 체크합니다. id 컬럼이 users 테이블의 기본 키였습니다. 기본 키인 id 컬럼에는 AI(AUTO_INCREMENT)가 추가로 체크 표시되어 있습니다.
• NN은 빈칸을 허용할지 여부를 묻는 NOT NULL입니다. comment만 체크 표시가 되어 있지 않습니다. 사실 created_at의 경우에는 DEFAULT 값이 있으므로 NOT NULL을 체크하지 않아도 항상 DEFAULT 값이 입력됩니다.
• UQ는 UNIQUE INDEX와 같습니다. name 컬럼이 UNIQUE INDEX이므로 UQ에 체크 표시했습니다.
• UN은 UNSIGNED, ZF는 ZEROFILL입니다.
• Default/Expression은 기본값을 설정해두는 곳입니다. created_at에 현재 시간을 저장해야 하므로 now()나CURRENT_TIMESTAMP를 입력합니다.
이제 Apply 버튼을 눌러 테이블을 생성해봅시다.
▲ 그림 7-33 테이블 생성 SQL
윈도와 맥에서는 워크벤치가 자동으로 SQL문을 생성해주므로 직접 작성하지 않아도 됩니다. Apply 버튼을 누르면 테이블이 생성됩니다.
만약 테이블을 잘못 만들었다면, 다음 그림과 같이 해당 테이블 이름을 클릭한 후 마우스 오른쪽 클릭해 Drop Table을 선택하면 됩니다. 이는 테이블을 삭제하는 옵션입니다. 삭제 후 테이블을 다시 만듭니다.
▲ 그림 7-34 테이블 삭제 메뉴