MySQL에서 테이블을 정의할 때는 필드별로 저장할 수 있는 타입을 명시해야 합니다.
기본 타입
- 숫자 타입
- 문자열 타입
- 날짜와 시간 타입
숫자 타입(numeric types)
MySQL Refence에서 제공해주는 숫자 타입의 설명입니다.
MySQL은 모든 표준 SQL 숫자 데이터 유형을 지원합니다. 이러한 유형에는 정확한 숫자 데이터 유형 (INTEGER, SMALLINT, DECIMAL 및 NUMERIC)과 대략적인 숫자 데이터 유형 (FLOAT, REAL 및 DOUBLE PRECISION)이 포함됩니다. 키워드 INT는 INTEGER의 동의어이고 키워드 DEC 및 FIXED는 DECIMAL의 동의어입니다.
MySQL은 DOUBLE을 DOUBLE PRECISION (비표준 확장)의 동의어로 취급합니다. 또한 REAL_AS_FLOAT SQL 모드가 활성화되어 있지 않으면 MySQL은 REAL을 DOUBLE PRECISION (비표준 변형)의 동의어로 취급합니다.
MySQL은 SQL 표준 정수 타입인 INTEGER == INT와 SMALLINT를 제공합니다.
또한 , 표준 정수 타입의 범위를 확장한 TINYINT , MEDIUMINT , BIGINT까지 제공해주고 있습니다.
각 정수 타입에 따라 요구되는 저장 공간과 표현할 수 있는 최댓값과 최솟값까지 달라집니다.
또한, 정수 타입은 음수까지 표현할 수 있는 SIGNED 타입과 양수만 표현할 수 있는 UNSIGNED로 구분됩니다.
타입 | 저장 공간 | 최솟값 | 최댓값 | ||
Signed | Unsigned | Signed | Unsigned | ||
TINYINT | 1바이트 | -128 | 0 | 127 | 255 |
SMALLINT | 2바이트 | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | 3바이트 | -8388608 | 0 | 8388067 | 16777215 |
INT | 4바이트 | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | 8바이트 | -9223372036854775808 | 0 | 9223372036854775807 | 18446744073709551615 |
2) 고정 소수점 타입(fixed-point types)
MySQL에서 고정 소수점 타입인 DECIMAL은 실수의 값을 정확하게 위해 사용됩니다. 최댓값은 65입니다.
DECIMAL에서 사용하는 고정 소수점 방식은 실수를 표현할 때 소수부의 자릿수를 고정하여 표현합니다.
EX) DECIMAL(M, D)
M : 소수 부분을 포함한 실수의 총자릿수를 나타냅니다.
D : 소수 부분의 자릿수를 나타내며, D가 0이면 소수 부분을 가지지 않습니다.
3) 부동 소수점 타입(floating-point types)
MySQL에서 부동 소수점 타입인 FLOAT과 DOUBLE은 실수의 값을 대략적으로 표현하기 위해 사용합니다.
MySQL은 IEEE 754 표준에 따라 FLOAT는 4바이트를 사용하며, DOUBLE은 8바이트를 사용합니다.
EX) FLOAT(M , D) ==REAL
DOUBLE (M, D)
M은 소수 부분을 포함한 실수의 총자릿수를 나타내며, D는 소수 부분의 자릿수를 나타냅니다.
4) 비트 값 타입(bit-value type)
MySQL에서 비트 값 타입인 BIT는 비트의 값을 저장합니다.
0과 1로 구성되는 바이너리 값을 저장할 수 있습니다.
EX) BIT(M)
M의 범위는 1부터 64까지 설정할 수 있으며 명시한 M보다 짧은 비트 값을 입력했을 때 앞에 0이 추가하여 길이를 맞춥니다.
'Database > MySQL' 카테고리의 다른 글
[MySQL] 트리거 (0) | 2020.07.01 |
---|---|
[MySQL] 커서 (0) | 2020.07.01 |
[MySQL] Stored Program (0) | 2020.07.01 |
MySQL DATE / TIME TYPE (0) | 2020.05.09 |
MySQL String Type (0) | 2020.05.09 |
댓글