@김쿠쿠
네, byte가 아닌 글자 수 기준입니다. varchar(50) 은 영문이던 한글이던 중국어이던.. 최대 50자까지 들어갑니다.
단, 영문이 50자 들어가면 50byte이고.. 한글이 50자 들어가면 150byte가 되겠죠.
그래서 주의가 필요한 부분이 있는데.. create table 문에서 컬럼이 varchar인 경우 사용할 수 있는 최대 글자 수가 캐릭터 셋마다 다르다는 점입니다.
데이터 유형으로만 보면.. varchar에 사용할 수 있는 문자열은 최대 64KB지만, utf8이면 1/3, utf8mb4이면 1/4까지만 사용할 수 있죠.
예) utf8mb4에서 create table t (col varchar(16383)); 과 같이 64KB의 1/4인 16383 보다 큰 수를 넣을 수 없어서.. 이보다 큰 값을 넣으면 에러가 납니다.