코딩요
쉬운코드 기술 블로그
코딩요
전체 방문자
오늘
어제
  • 분류 전체보기 (54)
    • 개발자로 성장하기 (11)
    • 컴공 (25)
      • 운영체제 (12)
      • 알고리즘 (1)
      • 데이터베이스 (11)
      • 네트워크 (1)
    • 쉬운코드 (15)
      • 쉬운코드 소개 (6)
      • 쉬운코드 영상 보는 법 (3)
      • 쉬운코드 정정 보고서 (1)
      • 쉬운코드 스토리 (4)
      • 기타 이것저것 (1)
    • 면접 tip (3)

공지사항

  • 아이폰 앱에서는 슈퍼땡스 보내지 말아주세요ㅠㅠ
  • 쉬운코드 멤버십을 소개합니다
  • 쉬운코드 운영 철학

인기 글

hELLO · Designed By 정상우.
글쓰기 / 관리자
코딩요

쉬운코드 기술 블로그

char varchar 차이
컴공/데이터베이스

char varchar 차이

2022. 7. 25. 02:02

char는 고정 '문자' 길이다

 

varchar는 가변 '문자' 길이다

 

 

 

 

예를 들어 name char(4) 라고 선언하면 무조건 네 개의 문자 공간을 확보해서 저장한다. 

 

그래서 name에 '코드'라는 문자열을 저장하게 되면 '코드  ' <-- 이렇게 나머지 두 개의 문자는 스페이스로 채워서 저장한다,

 

 

 

 

반면 name varchar(4) 라고 선언하면 문자열의 문자 수에 맞춰서 공간을 확보해서 저장한다.

 

그래서 name에 '코드'라는 문자열을 저장하면 '코드' <-- 이렇게 두 개의 문자만 저장한다.

 

 

 

 

char, varchar 모두 파라미터로 받는 수는 문자 수이다. (바이트(byte) 수가 아니다!)

 

* 참고로 'varchar 문자열이 차지하는 바이트 = 문자 수 * 사용한 문자 인코딩에 따른 바이트 수'이다

 

 

 

 

 

 

 

varchar는 가변 길이기 때문에 MySQL에서는 문자열을 저장할 때 문자열의 길이 정보도 포함해서 같이 저장한다.

 

그래서 'varchar로 저장되는 문자열의 바이트  =  문자열 자체의 바이트 + 문자열 길이 정보를 담은 바이트'가 된다.

 

 

 

 

길이가 가변적인 값을 가지는 문자열의 경우에는 varchar를

 

길이가 고정인 값을 가지는 문자열의 경우에는 char를 쓰는 것이 좋겠다.

 

 

 

 

 

 

쉬운코드 유튭 !

 

https://www.youtube.com/watch?v=c8WNbcxkRhY 

 

저작자표시 비영리 변경금지 (새창열림)
    '컴공/데이터베이스' 카테고리의 다른 글
    • DB 트랜잭션 isolation 속성과 lost update
    • MySQL 트랜잭션 serializable 격리 레벨은 MVCC인가?
    • DB 트랜잭션의 conflict serializable 이해를 위한 선수 개념
    • 트랜잭션 ACID 속성 간단히 정리
    코딩요
    코딩요
    8년차 백엔드 개발자가 이해하기 쉽게 설명합니다. 배워서 남주는 블로그! 이해하기 쉬운 기술 블로그! 쉬운코드입니다 :)

    티스토리툴바