3.2.1 문자형
기본이면서 가장 많이 사용하는 것이 문자형입니다. MySQL에서 제공하는 문자형은 다음과 같습니다.
CHAR(n)
CHAR는 고정 길이 문자형으로, 소괄호 안의 숫자 n은 저장될 문자 값의 길이를 뜻합니다. 예를 들어 Name CHAR(10)이라고 칼럼을 정의하면 Name 칼럼에는 최대 10개의 문자를 입력할 수 있습니다. 물론 10개 이하의 문자도 입력할 수 있습니다. 다만 고정 길이이므로 몇 개의 문자를 입력하든지 10자리를 차지합니다. CHAR(10)이라고 선언하고 ‘abcd’라는 4개의 문자를 입력하더라도 나머지는 공백(space)으로 채워집니다. 즉, ‘abcd ’처럼 ‘abcd’ 4개의 문자와 6개의 공백으로 저장되죠. 단, 이 데이터를 조회하면 공백이 사라진 채 보입니다. n의 최댓값은 255이므로 최대 255개의 문자를 저장할 수 있습니다.
VARCHAR(n)
VARCHAR는 가변 길이 문자형으로, 실제 입력되는 문자의 길이만큼 저장됩니다. 예를 들어 VARCHAR(10)이라고 선언하고 ‘abcd’를 입력하면 공백 없이 ‘abcd’ 4개의 문자가 저장됩니다. n의 최댓값은 65,535(64KB)입니다. VARCHAR 타입은 실제 값의 길이만큼 저장될 뿐만 아니라 CHAR보다 더 많은 값을 저장할 수 있어서 CHAR보다는 VARCHAR 타입을 주로 사용합니다.
TEXT
TEXT는 VARCHAR보다 더 큰 문자 값을 저장할 때 사용하며, 저장할 수 있는 최대 크기에 따라 TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT로 나뉩니다. 각 문자형에서 저장할 수 있는 최대 크기는 다음과 같습니다.
• TINYTEXT 255Byte(255개 문자)
• TEXT 64KB(65,535개 문자)
• MEDIUMTEXT 16MB(16,777,215개 문자)
• LONGTEXT 4GB(4,294,967,295개 문자)