[개발 일기] 2025.02.18 - 한글과 VARCHAR

2025. 2. 18. 13:11·개발 일기

💡 개요

오늘은 MySQL의 VARCHAR 타입과 한글의 관계, VARCHAR 타입에 한글을 저장할 때, 영어와 차이점에 대해 정리해 보자.

 

 

 

📕 VARCHAR

MySQL에서 VARCHAR는 문자열 데이터를 저장하는 데 사용되는 타입이다.

 

 

문자열을 저장할 수 있는 또 다른 타입으로 CHAR가 있지만, 이는 고정 길이 문자열을 저장하는 방식이다.

 

 

반면, VARCHAR는 가변 길이 문자열을 저장할 수 있어 메모리를 보다 효율적으로 사용할 수 있다.

 

 

따라서, 문자열의 길이가 일정하지 않은 데이터를 저장할 때는 VARCHAR를 사용하는 것이 더 유연한 선택이 될 수 있다.

 

 

 

🚀 언어와 VARCHAR

 

VARCHAR에 영어와 한글을 저장할 때, 같은 길이를 지정해도 저장할 수 있는 문자 개수가 달라진다.

 

 

그 이유는 문자가 차지하는 바이트(byte) 크기가 다르기 때문이다.

 

 

영어는 알파벳 하나당 1 byte이다.

 

 

하지만 한글은 하나의 글자에 3byte를 차지한다.

 

 

예를 들어 VARCHAR(10)에 문자열을 저장한다고 하면 알파벳과 특수문자는 10글자를 저장할 수 있다.

 

 

하지만 한글은 3글자 X 3byte = 9 이기 때문에 총 3글자만 저장할 수 있다.

 

 

그렇기 때문에 한글을 총 몇 글자를 저장할지 모르는 경우엔 그냥 VARCHAR(255)을 선언하는데 가장 안전한 방법이다.

'개발 일기' 카테고리의 다른 글

[개발 일기] 2025.02.20 - 리눅스 Swap Memory  (0) 2025.02.20
[개발 일기] 2025.02.19 - 서브 도메인  (0) 2025.02.19
[개발 일기] 2025.02.17 - Service 여러 개 Repository (Feat : Facade 패턴)  (0) 2025.02.17
[개발 일기] 2025.02.16 - Transaction Synchronization  (0) 2025.02.16
[개발 일기] 2025.02.15 - Security Context  (0) 2025.02.15
'개발 일기' 카테고리의 다른 글
  • [개발 일기] 2025.02.20 - 리눅스 Swap Memory
  • [개발 일기] 2025.02.19 - 서브 도메인
  • [개발 일기] 2025.02.17 - Service 여러 개 Repository (Feat : Facade 패턴)
  • [개발 일기] 2025.02.16 - Transaction Synchronization
오도형석
오도형석
  • 오도형석
    형석이의 성장일기
    오도형석
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • MSA 모니터링 서비스
        • DB
      • 스파르타 코딩클럽
        • SQL
        • Spring
      • 백엔드
        • Internet
        • Java
        • DB
      • 캡스톤
        • Django
        • 자연어처리
      • Spring
        • JPA
        • MSA
      • ETC
        • ERROR
      • 개발 일기 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
오도형석
[개발 일기] 2025.02.18 - 한글과 VARCHAR
상단으로

티스토리툴바