강의: 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 : 생성된 테이블 확인