Home

(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드

Published in mysql_maria
July 14, 2025
2 min read
(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드

안녕하세요, 코딩하는곰입니다! 오늘은 MySQL과 MariaDB에서 테이블을 생성하는 가장 기본적인 문법인 CREATE TABLE에 대해 깊이 있게 알아보겠습니다. 데이터베이스 설계의 첫 걸음인 테이블 생성은 시스템의 성능과 확장성을 결정하는 매우 중요한 요소입니다. 특히 컬럼 정의와 데이터 타입 선택은 이후 쿼리 성능에 직접적인 영향을 미치기 때문에 초기 설계 단계에서 신중하게 결정해야 합니다. 20년 경력의 데이터베이스 개발자로서 제가 경험한 실제 사례와 함께 기본 개념부터 고급 팁까지 상세히 설명드리겠습니다.

1. CREATE TABLE 기본 구조 이해하기

MySQL/MariaDB에서 테이블을 생성하는 기본 문법은 다음과 같습니다.

CREATE TABLE 테이블명 (
컬럼1 데이터타입 [제약조건],
컬럼2 데이터타입 [제약조건],
...
[테이블_제약조건]
);

가장 기본적인 형태로 ‘users’ 테이블을 생성하는 예제를 살펴보겠습니다.

CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);

이 예제에서 각 컬럼은 다음과 같은 특징을 가집니다:

  • id: 정수 타입이며, NULL을 허용하지 않고 자동 증가하는 프라이머리 키
  • username: 최대 50자의 가변 문자열, NULL 불가
  • email: 최대 100자의 가변 문자열, NULL 불가
  • created_at: DATETIME 타입으로 기본값은 현재 시간

(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드
(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드


📊 데이터 분석과 프로그래밍에 관심이 있다면, (자바 기초) 클래스와 객체 개념 완벽 이해 - 인스턴스화와 메모리 구조까지를 참고해보세요.

2. 데이터 타입 선택의 중요성과 최적화 전략

데이터 타입 선택은 저장 공간 효율성과 쿼리 성능에 직접적인 영향을 미칩니다. 주요 데이터 타입과 선택 가이드를 소개합니다.

2.1 정수 타입 (Integer Types)

  • TINYINT: 1바이트 (-128 ~ 127)
  • SMALLINT: 2바이트 (-32,768 ~ 32,767)
  • MEDIUMINT: 3바이트 (-8,388,608 ~ 8,388,607)
  • INT: 4바이트 (-2,147,483,648 ~ 2,147,483,647)
  • BIGINT: 8바이트
-- 적절한 정수 타입 선택 예시
CREATE TABLE product_inventory (
product_id BIGINT, -- 매우 큰 카탈로그 시스템일 경우
quantity MEDIUMINT, -- 최대 800만 개까지 표현 가능
status_flag TINYINT -- 0/1 플래그 값
);

2.2 문자열 타입 (String Types)

  • CHAR(n): 고정 길이 문자열 (최대 255자)
  • VARCHAR(n): 가변 길이 문자열 (최대 65,535자)
  • TEXT: 대용량 텍스트 데이터 (최대 65,535자)
  • LONGTEXT: 매우 큰 텍스트 데이터 (최대 4GB)

(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드
(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드


치매 예방과 기억력 향상을 위한 스도쿠 게임이 필요하다면, 크립토 할아버지와 함께하는 스도쿠 저니를 추천합니다.

3. 고급 컬럼 정의 기법과 실무 팁

3.1 DEFAULT 값의 전략적 사용

DEFAULT 값은 데이터 무결성을 유지하는 강력한 도구입니다.

CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
order_date DATETIME DEFAULT CURRENT_TIMESTAMP,
status VARCHAR(20) DEFAULT 'pending',
priority TINYINT DEFAULT 3,
is_approved BOOLEAN DEFAULT FALSE
);

3.2 NULL 허용 여부 결정 전략

  • NOT NULL: 해당 컬럼이 반드시 값을 가져야 할 때 사용
  • NULL 허용: 값이 없을 수 있는 경우 (단, 과도한 NULL은 성능 저하 유발)
CREATE TABLE employees (
emp_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
phone VARCHAR(20), -- NULL 허용 (전화번호가 없는 경우)
retirement_date DATE NULL -- 명시적으로 NULL 표기
);

(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드
(MySQL/MariaDB) CREATE TABLE 기본 문법 ① - 컬럼 정의와 데이터 타입 완벽 가이드


두뇌 건강을 위한 재미있는 퍼즐 게임이 필요하다면, 크립토 할아버지의 지혜가 담긴 스도쿠 저니를 설치해보세요.

지금까지 MySQL/MariaDB에서 CREATE TABLE 문을 사용하여 컬럼을 정의하고 적절한 데이터 타입을 선택하는 방법에 대해 상세히 알아보았습니다. 데이터 타입 선택과 제약 조건 설정은 데이터베이스 설계의 핵심이며, 시스템의 장기적인 성능과 유지보수성에 큰 영향을 미칩니다. 다음 포스팅에서는 더 고급 주제인 인덱스 생성, 외래 키 설정, 테이블 옵션(엔진 타입, 문자셋 등)에 대해 깊이 있게 다루겠습니다. 궁금한 점이 있으시면 댓글로 남겨주세요. 여러분의 데이터베이스 설계가 더욱 견고해지길 바랍니다! 코딩하는곰이었습니다. 감사합니다!

📊 성분, 효능, 가격까지 비교해보고 싶은 분들을 위한, 맨즈텐 MAX를 참고해보세요.









최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기
최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기



다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기
다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기



비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기
비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기




Tags

#developer#coding#mysql_maria

Share

Previous Article
CSS margin이 안 먹을 때 확인해야 할 3가지 핵심 원인

Table Of Contents

1
1. CREATE TABLE 기본 구조 이해하기
2
2. 데이터 타입 선택의 중요성과 최적화 전략
3
3. 고급 컬럼 정의 기법과 실무 팁

Related Posts

MySQL/MariaDB 필수 통계 함수 완벽 가이드 COUNT, SUM, AVG 활용법과 실무 예제
December 31, 2025
3 min