KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

데이터 타입(Data Type)

연결된 노트와 함께 읽기

데이터 타입(Data Type)

2026년 5월 17일
  • MySQL/MariaDB의 데이터 타입은 컬럼에 저장할 값의 종류와 크기를 정의한다.
  • 적절한 타입 선택은 저장 공간 절약과 쿼리 성능에 직결된다.

숫자형

타입크기범위 (부호 있음)용도
TINYINT1 byte-128 ~ 127불리언 대체, 상태 코드
SMALLINT2 byte-32,768 ~ 32,767
INT / INTEGER4 byte-2,147,483,648 ~ 2,147,483,647일반 ID, 카운터
BIGINT8 byte±9,223,372,036,854,775,807대용량 ID, epoch time
DECIMAL(p, s)가변정밀도 보장금액, 소수 계산
FLOAT / DOUBLE4/8 byte부동소수점부정확, 금액에 사용 금지
  • JPA에서 Long → BIGINT, Integer → INT, boolean → TINYINT(1) 로 매핑된다.

문자형

타입최대 크기특징용도
CHAR(n)255자고정 길이, 빠른 비교국가코드, 해시값
VARCHAR(n)65,535 byte가변 길이, 효율적이름, 이메일, URL
TEXT65,535 byte인덱스 제한 있음본문, 설명
MEDIUMTEXT16 MB긴 본문
LONGTEXT4 GB매우 긴 텍스트
JSONLONGTEXT 기반JSON 유효성 검사JSON 저장 (MySQL 5.7+)
  • VARCHAR는 n이 255 이하이면 1 byte, 256 이상이면 2 byte 길이 헤더를 사용한다.

날짜/시간형

타입범위특징용도
DATE1000-01-01 ~ 9999-12-31날짜만생일, 만료일
TIME-838:59:59 ~ 838:59:59시간만
DATETIME1000-01-01 ~ 9999-12-31날짜+시간, 타임존 저장 안 함createdAt
TIMESTAMP1970-01-01 ~ 2038-01-19UTC 저장, 조회 시 서버 타임존 변환자동 갱신에 사용
YEAR1901 ~ 2155
  • JPA LocalDateTime → DATETIME, Instant → DATETIME(6) (마이크로초) 로 매핑.
  • 운영 DB는 모든 시간을 UTC로 저장하는 것이 권장된다.

이진형

타입용도
BINARY(n) / VARBINARY(n)고정/가변 이진 데이터
BLOB / LONGBLOB파일, 이미지 (실제 파일은 S3 권장)

JPA 타입 매핑 요약

Java

관련

  • MySQL(MariaDB)
  • JPA(Java Persistence API)
  • 관계형 데이터베이스(Relational DataBase)

Synapse Map Insight

@Entity public class Post { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; // BIGINT AUTO_INCREMENT @Column(nullable = false, length = 200) private String title; // VARCHAR(200) @Column(columnDefinition = "TEXT") private String content; // TEXT @Column(precision = 10, scale = 2) private BigDecimal price; // DECIMAL(10, 2) private LocalDateTime createdAt; // DATETIME(6) }