MYSQL 자료형 종류의 타입에 대하여 정의해보자 .
자료형은 크게 숫자형, 문자형, 날짜형 3종류로 나뉠 수 있다.
종류에 따라 살펴보도록 하겠다.
1. 숫자형
숫자형은 부호를 생략할 떄 unsigned를 붙인다. 숫자형 종류는 다음과 같다.
자료형 |
사용 BYTE |
표현범위 |
TINYINT |
1 Byte | signed: -128~127 , unsigned: 0~255 |
SMALLINT |
2 Byte |
signed: -32768~32767 , unsigned: 0 ~ 65535 |
MEDIUMINT |
3 Byte |
signed: -8388608~8388607 , unsigned: 0 ~ 16777215 |
INT |
4 Byte |
signed: -2147683648~2147483647 , unsigned: 0 ~ 4294967295 |
BIGINT |
8 Byte |
signed: -922372036854775808~9223720368547758087 , unsigned: 0 ~ 18446744073709551615 |
DECIMAL | - | * 소수를 저장하지만 내부적으로는 문자 형태로 저장되는 타입이다. 예를들어 3.141592 의 경우, 3 이 char 하나의 공간에 저장된다. |
FLOAT | 4 Byte | signed: +_1.175494351E-38, unsigned: 3.402823466E_38 |
DOUBLE | 8 Byte | signed:±1.7976931348623157E-308, unsigned : 1±2.2250738585072014E+308 |
- 정수 컬럼을 선언 할 때, 선택적인 크기 M을 지정할 수 있다. M은 1에서 255까지 정수 이다. 이것은 컬럼 값을 표시하는 데 사용되는 문자들의 수에만 관련이 있지 저장공간의 바이트 수와는 아무런 관련이 없다.
- DECIMAL에서 M은 유효자리수, D는 소숫점 자리수를 나타낸다. M은 1부터 65, D는 0부터 30까지 값을 가지고 M보다 클 수 없다. (예를 들어 DECIMAL(5,1) 이라면 값의 범위는 -9999.9 ~ 9999.9 까지 이다.)
2. 문자형
자료형 |
표현범위 |
CHAR |
0~255까지의 자릿수를 지원하며 지정한 용량만큼 바이트를 사용 |
VARCHAR |
지정할 수 있는 길이는 1~255까지이며 지정한 길이보다 작은 데이터를 저장할 때 필요길이만큼 저장된다. char보다 기억장치를 효율적으로 저장할 수 있다. |
TINYBLOB |
최대 255개 문자를 저장하며 지정한 용량 + 1BYTE를 사용한다. |
BLOB |
최대 65535개의 문자를 저장하며 지정한 용량 + 2BYTE를 사용한다. |
MEDIUMBLOB |
최대 1677215개의 문자를 저장하며 지정한 용량 + 3BYTE를 사용한다. |
LONGBLOB |
최대 429496729개의 문자를 저장하며 지정한 용량 + 4BYTE를 사용한다. |
ENUM |
문자인 형태인 value 값을 숫자로 저장한다. value가 255이하인 경우는 1byte 65535이하인 경우에는 2 byte로 저장한다. |
3. 날짜형
자료형 |
사용 | 사용 BYTE |
출력방식 |
DATE |
날짜 | 3 BYTE |
CCYY-MM-DD |
TIME | 시간 | 3 BYTE | hh:mm:ss |
DATETIME |
날짜와 시간 | 8 BYTE |
CCYY-MM-DD hh:mm:ss |
TIMESTAMP |
타임스탬프 | 4 BYTE |
1970-01-01 00:0:00 이후 부터 초를 숫자로 정하는 자료형 |
YEAR |
연도 | 1 BYTE |
CCYY 또는 YY |
'컴퓨터 공부 > Database' 카테고리의 다른 글
[Oracle] P-File(Parameter File)과 SP-File(Server Parameter File) 속성 (0) | 2013.05.23 |
---|---|
[Database] Oracle 11g 설치방법 (0) | 2013.04.25 |
[Database] MYSQL 조인 insert, update, delete (0) | 2013.02.12 |
[Database] MYSQL groupby rollup (0) | 2012.12.30 |
[Database] mysql explain 이해 (6) | 2012.12.27 |