데이터베이스에서 가장 많은 자료를 포함하고 있는 데이터 타입은 문자형입니다. MySQL은 다양한 문자들을 저장하고 처리할 수 있습니다. 문자의 데이터형은 문자의 길 이에 많은 상관관계가 있습니다.
대표적으로 가장 많이 사용을 하는 문자형 데이터 타입은 CAHR와 VARCHAR입니다. 이 두 타입은 문자를 저장할 때 고정된 크기로 저장 공간을 사용할지 여부의 차이입니다. 또한 255 이상의 긴 문자열의 경우에는 text, longtext를 사용하여 저장합니다.
07.2.1 CHAR
char형은 고정된 크기의 문자열을 저장할 수 있는 공간을 할당합니다. char데이터형을 사용할 때 컬럼명 뒤에 char() 형태로 선언합니다. 뒤에 붙은 () 안에 저장하고자 하는 데 이터의 크기를 지정합니다. 최대 크기는 255까지입니다.
char로 선언된 데이터 크기 보다 작은 글자가 입력된 경우에는 나머지 영역을 공백으로 처리합니다. 그만큼 데이터의 공간 손실이 발생할 수 있습니다. 하지만 char는 varchar 데이터 타입보다 검색 속도 및 처리가 빠른 것이 장점입니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 char(15),
….
}
char 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 char(15);
07.2.2 VARCHAR
varchar는 가변 문자열을 처리하는 데이터형입니다. varchar는 char형보다 데이터의 저 장 공간을 유연하게 처리합니다. varchar 데이터형을 사용할 때 컬럼명 뒤에 varchar() 형태로 선언하면 됩니다.
varchar가 char보다 유연한 것은 괄호 안에 문자 크기보다 작은 값을 입력해도 공백을 처리하지 않고 데이터의 용량을 줄여서 저장한다는 것입니다. 따라서 불특정한 데이터의 경우 varchar는 데이터의 저장 공간을 절약할 수 있습니다.
varchar는 가변적인 문자열의 길이를 관리하기 위해서 설정한 최대 크기보다 추가로 1~2바이트의 추가 공간을 필요로 합니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 varchar(255),
….
}
varchar 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 varchar(255);
07.2.3 TEXT
char와 varchar의 데이터형은 최대 문자를 저장하고 처리하는데 길이의 한계가 있습 니다. 보다 많은 데이터를 저장하고 처리하기 위해서는 text형 데이터 타입을 사용합니다. text형 데이터 타입은 최대 65535 크기의 문자를 저장할 수 있습니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 text,
….
}
text 데이터형은 테이블 생성 시에 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새 로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 text;
07.2.4 LONGTEXT
Longtext형은 text형보다 더 큰 크기의 문자를 저장할 수 있습니다. 저장 처리할 수 있는 최대 크기는 4294967295입니다.
| 테이블 생성 시 |
CREATE TABLE `tableName` (
컬럼명 longtext,
….
}
longtext 데이터형은 테이블 생성 시 지정하여 선언할 수 있습니다. 또는 기존 테이블에 새로운 데이터 타입의 컬럼을 추가할 수 있습니다.
| 컬럼 추가 |
ALTER TABLE 테이블명 ADD 컬럼명 longtext;