MySQL의 기초 - 데이터 타입

2010. 3. 10. 17:32개발/웹 관련

반응형

"공부도 할 겸 책펴놓고 쓰는 글입니다."


MySQL은 크게 "숫자타입, 날짜와 시간타입, 스트링타입" 세종류의 데이터 타입을 제공합니다.

1. 숫자 데이터 타입
1) INT
일반적인 정수로 부호를 가질 수 있음. 부호가 있을 경우(signed) -2147483648 ~ 2147483647 까지를 표현합니다. 부호가 없을 경우(unsigned) 0 ~ 4294967295까지를 표현할 수 있습니다. 그리고 너비는 11자리까지 지정할 수 있습니다.

2) TINYINT
아주 작은 정수로 부호를 가질 수 있음. 부호가 있을 경우 -128~127 까지를 표현합니다. 부호가 없을 경우 0~255까지를 표현할 수 있습니다. 너비는 4자리까지 지정할 수 있습니다.

3) SMALLINT
비교적 작은 정수(small integer)를 위한 것으로 부호를 가질 수 있습니다.
부호가 있을 경우 -32768~32767까지를 표현합니다.
부호가 없을 경우 0~65535 까지를 표현하며, 너비는 6자리까지 지정할 수 있습니다.

4) MEDIUMINT
중간정도의 정수를 위한 것으로 부호를 가질 수 있습니다.
부호가 있을 경우 -8388608~8388607 까지를 표현합니다.
부호가 없을 경우 0~16777215 까지를 표현하며, 너비는 6자리까지 지정할 수 있습니다.

5) BIGINT
큰정수를 위한 것으로 부호를 가질 수 있습니다.
부호가 있을 경우 -9223372036854775808~9223372036854775807 까지를 표현합니다. 헐~;;
부호가 없을 경우 0~18446744073709551615 까지를 표현하며, 너비는 20자리까지 지정할 수 있습니다.

* 그 외 FLOAT, DOUBLE, DECIMAL 이 있습니다.




2. 날짜와 시간타입

1) DATE
YYYY-MM-DD 형태의 날짜로 1000-01-01 부터 9999-12-31일까지 지정할 수 있습니다.

2) DATETIME
YYYY-MM-DD HH:MM:SS 형태의 날짜와 시간 타입입니다. 1000-01-01 00:00:00부터 9999-12-31 23:59:59 까지 지정할 수 있습니다.

3) TIMESTAMP
1970년 1월 1일 자정부터 2037년까지의 시각을 표현합니다.
YYYYMMDDHHMMSS 형식이며 DATETIME에서 하이픈이 없다고 보시면 됩니다.

4) YEAR(M)
두자리나 네자리로 연도를 저장합니다. 기본은 네자리입니다.
너비가 4로 지정되면 1901년부터 2155년까지를 표현할 수 있습니다.
너비가 2로 지정되면 - YEAR(2) : 1970년에서 2069년을 70~69로 표기합니다.




3. 스트링타입

1) CHAR(M)
고정길이 스트링으로 1~255개의 문자를 저장할 수 있습니다.

2) VARCHAR(M)
1~255개의 문자들을 저장할 수 있는 가변 길이 스트링입니다.
VARCHAR(20) 처럼 길이를 지정할 수 있으며, VARCHAR필드를 생성할 때는 반드시 길이를 지정해줘야 합니다.

3) BLOB
최대 65,535개의 문자저장이 가능하며 너비지정은 안합니다.
Binary Large Objects 의 약자로 이미지나 파일처럼 대용량 바이너리 데이터를 저장할 때 사용됩니다.
저장된 데이터를 정렬하거나 비교할 때 대,소문자를 구별합니다.

4) TEXT
최대 65,535개의 문자저장이 가능하며 너비지정은 안합니다.
BLOB와 달리 대소문자를 구별하지 않습니다.

5) TINYBLOB 또는 TINYTEXT / MEDIUMBLOB 또는 MEDIUMTEXT / LONGBLOB 또는 LONGTEXT
TINY - 최대 255 개의 문자를 저장할 수 있습니다.
MEDIUM - 최대 16,777,215 개의 문자를 저장할 수 있습니다.
LONG - 최대 4,294,967,295 개의 문자를 저장할 수 있습니다.
모두 너비를 지정하지 않습니다.

6) ENUM
값이 될 수 있는 항목들을 열거한 리스트입니다.
ENUM('A','B','C') 라고 정의하면 이들 세가지 값만 가질수 있습니다. (NULL도 포함)
최대 65,535 개의 값을 가질 수 있으며, 항목을 저장하기 위해 인덱스를 사용합니다.




참고도서 - 초보자를 위한 PHP, MySLQ, Apache (정보문화사)


반응형