[4] MySQL 테이블의 생성

ttt-1-2·2026년 3월 7일

강의: https://www.inflearn.com/course/database-2-mysql-강좌?cid=119293

실습 tips: MySQL cheating sheet 검색하면 주요 SQL 문법과 예시를 빠르게 확인할 수 있다.


실습: 테이블의 생성

먼저 사용할 데이터베이스를 선택한다.

USE opentutorials

다음으로 topic이라는 테이블을 생성한다.

CREATE TABLE topic (
  id INT(11) NOT NULL AUTO_INCREMENT,
  title VARCHAR(100) NOT NULL,
  description TEXT NULL,
  created DATETIME NOT NULL,
  author VARCHAR(15) NULL,
  profile VARCHAR(200) NULL,
  PRIMARY KEY(id)
);

이 테이블은 게시글 정보를 저장하는 간단한 구조이다. 각 컬럼의 의미는 다음과 같다:

id

id INT(11) NOT NULL AUTO_INCREMENT,
  • INT : 정수형 데이터 타입
  • NOT NULL : 값이 반드시 있어야 한다
  • AUTO_INCREMENT : 새로운 데이터가 추가될 때마다 값이 자동으로 1씩 증가한다. (게시글마다 고유한 id 위해 꼭 넣어 줘야 함!)

title

title VARCHAR(100) NOT NULL
  • VARCHAR(100) : 최대 100자의 문자열을 저장할 수 있다
  • NOT NULL : 제목은 반드시 있어야 하므로 NULL을 허용하지 않는다

description

description TEXT NULL
  • TEXT : 긴 문자열을 저장할 수 있는 타입
  • NULL : 값이 없어도 허용한다. 본문은 길어질 수 있기 때문에 VARCHAR 대신 TEXT 타입을 사용한다.

created

created DATETIME NOT NULL
  • DATETIME : 날짜와 시간을 함께 저장하는 데이터 타입
  • NOT NULL : 게시글이 생성된 시간은 반드시 기록되어야 한다.

author

author VARCHAR(15) NULL
  • VARCHAR(15) : 최대 15자의 문자열을 저장할 수 있다
  • NULL : 작성자가 없는 경우도 허용한다

profile

profile VARCHAR(200) NULL
  • VARCHAR(200) : 최대 200자의 문자열을 저장할 수 있다.

PRIMARY KEY

PRIMARY KEY(id)

PRIMARY KEY는 각 행을 구분하는 유일한 값을 의미한다. 이 테이블에서는 id 컬럼을 기본 키로 사용한다.

주의점: AUTO_INCREMENT와 PRIMARY KEY

id 컬럼을 보면 AUTO_INCREMENT 옵션이 붙어 있다. AUTO_INCREMENT는 데이터가 추가될 때 값이 자동으로 1씩 증가하도록 하는 기능이다.

→ AUTO_INCREMENT를 사용하는 컬럼은 반드시 KEY로 정의되어야 한다. 보통은 PRIMARY KEY 로 설정한다.

테이블이 잘 생성되었는지 확인하려면 SHOW TABLES 명령어 사용한다. 여기에서 topic 테이블이 보이면 정상적으로 생성된 것이다.


정리

이번 실습 에서는 다음 내용을 확인했다.

  • USE : 사용할 데이터베이스 선택
  • CREATE TABLE : 새로운 테이블 생성
  • VARCHAR, TEXT, DATETIME ,… : 컬럼에 사용할 데이터 타입 지정
  • AUTO_INCREMENT : 데이터 추가 시 값 자동 증가
  • PRIMARY KEY : 각 row를 구분하는 고유 키 설정
  • SHOW TABLES : 생성된 테이블 확인

0개의 댓글