약 6분
읽기 설정
글자 크기
줄 간격
글꼴
CREATE TABLE
데이터베이스에서 정보를 효율적으로 저장하고 관리하기 위해서는 테이블이 필요합니다. 테이블은 관련된 데이터를 행(row)과 열(column)로 구성하여 저장하는 구조로, 각 열은 특정한 데이터 유형을 가집니다. 테이블을 만드는 기본 SQL 문법이 바로 CREATE TABLE입니다. 이 명령어를 통해 데이터베이스 내에 새로운 테이블을 생성할 수 있습니다.
먼저, 데이터베이스가 필요한 이유에 대해 이해해봅시다. 데이터베이스는 데이터를 체계적으로 저장하고 신속하게 접근할 수 있게 해 주며, 데이터의 보안성과 무결성을 유지합니다. 웹 애플리케이션에서는 사용자의 정보, 제품 정보 등을 효과적으로 관리할 수 있도록 도와줍니다.
예제: CREATE TABLE 문법
다음은 "사용자(user)" 정보를 저장하기 위한 테이블을 생성하는 SQL 예제입니다.
CREATE TABLE user (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
이 코드에서 user_id는 각 사용자를 고유하게 식별할 수 있는 기본 키(Primary Key)입니다. username과 email은 각각 사용자명과 이메일을 저장하기 위한 열이며, created_at은 사용자가 등록된 시간을 나타냅니다.
실행 결과
위 SQL 문을 실행한 결과, 데이터베이스에 다음과 같은 형태의 테이블이 생성됩니다.
| user_id | username | created_at | |
|---|---|---|---|
| 1 | user1 | user1@example.com | 2023-10-10 10:00:00 |
데이터가 추가되기 전 테이블 구조를 확인할 수 있습니다. 'user_id' 값은 자동으로 증가하며, 'username'과 'email'은 필수로 입력되어야 하며 이메일은 유일해야 합니다.
실습
이제 여러분이 직접 테이블을 만들어보는 시간을 가져볼까요? 다음 명령어를 사용해 "게시물(post)"에 대한 정보를 저장하는 테이블을 만들어보세요:
- 게시물 ID (post_id, INT, 자동 증가, 기본 키)
- 제목 (title, VARCHAR(100), NOT NULL)
- 내용 (content, TEXT, NOT NULL)
- 작성일 (created_at, TIMESTAMP, 기본값: 현재 시간)
SQL 명령어 사용 예:
CREATE TABLE post (
post_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
이 명령어를 실행하면 게시물에 대한 정보를 저장할 수 있는 테이블이 생성될 것입니다.
실행 결과를 확인하고, 데이터가 잘 저장되었는지 점검해보세요.
프로젝트
회원가입, 게시판 작성와 같은 간단한 웹 애플리케이션을 설계해보세요. 이 애플리케이션은 사용자가 정보를 등록할 수 있도록 하고, 그 정보를 데이터베이스에 저장하는 기능을 포함해야 합니다. ERD를 통해 사용자와 게시물 간의 관계를 시각적으로 나타낸 후 CREATE TABLE 문을 활용하여 테이블을 생성해보세요.
이 과정에서 작성한 SQL 명령어와 생성된 테이블 구조를 문서화해 보관하세요. 이후에 SQL 실습과 이론을 연계할 수 있습니다.
정리
CREATE TABLE 명령어를 통해 데이터베이스에 필요한 정보를 저장할 수 있는 테이블을 생성하는 방법을 배웠습니다. 기본 키, 데이터 타입, NOT NULL 같은 개념들을 이해하고 실습을 통해 직접 테이블을 만들어보는 경험을 쌓으며 데이터베이스 설계의 기초를 다졌습니다. 그럼 다음으로는 데이터를 테이블에 추가할 수 있는 INSERT 문법으로 넘어가도록 하겠습니다.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.