목차
1. 숫자형
1.1. 정수형
타입 | BYTE | 부호 O(SIGNED) 범위 | 부호 X(UNSIGNED) 범위 |
---|---|---|---|
TINYINT | 1 | -2^7 ~ 2^7 - 1 -128 ~ 127 | 0 ~ 2^8 - 1 0 ~ 255 |
SMALLINT | 2 | -2^15 ~ 2^15 - 1 -32,768 ~ 32,767 | 0 ~ 2^16 - 1 0 ~ 65,535 |
MEDIUMINT | 3 | -2^23 ~ 2^23 - 1 -8,388,608 ~ 8,388,607 | 0 ~ 2^24 - 1 0 ~ 16,777,215 |
INT/INTEGER | 4 | -2^31 ~ 2^31 - 1 -2,147,483,648 ~ 2,147,483,647 | 0 ~ 2^32 - 1 0 ~ 4,294,967,295 |
BIGINT | 8 | -2^63 ~ 2^63 - 1 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 0 ~ 2^64 - 1 0 ~ 18,446,744,073,709,551,615 |
1.2. 실수형(고정 소수점)
데이터 타입 | BYTE | 범위 | 설명 |
---|---|---|---|
DECIMAL(M, D) NUMERIC(M, D) | 5 ~ 17 | -1038+1 ~ +1038-1 | 전체 자릿수(M)와 소수점 이하 자릿수(D)를 가진 숫자형 e.g. DECIMAL(5, 2): -999.99 ~ 999.99 DECIMAL(M) = DECIMAL(M, 0) DEFAULT M값: 10 최대 65자리까지 표현할 수 있다. |
1.3. 실수형(부동 소수점)
데이터 타입 | BYTE | 숫자 범위 | 설명 |
---|---|---|---|
FLOAT(M, D) | 4 | -3.40E+38 ~ -1.17E-38 | 실수, 소수점 아래 7자리까지 표현 |
DOUBLE(M, D) REAL(M, D) | 8 | 1.22E-308 ~ 1.79E+308 | 실수, 소수점 아래 15자리까지 표현 |
FLOAT, DOUBLE 등의 부동 소수점 유형은 MySQL 8.0.17 이후 버전부터 사용되지 않는다.
1.4. BIT형
타입 | BYTE | 설명 |
---|---|---|
BIT(M) | N / 8 | 1 ~ 64bit 표현 e.g. b'0000' |
2. 문자형
데이터 타입 | BYTE | 설명 |
---|---|---|
CHAR | 고정 길이 문자열 | |
VARCHAR() | 가변 길이 문자열, 후행 공백 제거X | |
TINYBLOB TINYTEXT | ||
BLOB TEXT | ||
MEDIUMBLOB MEDIUMTEXT | ||
LONGBLOB LONGTEXT | ||
ENUM | ||
SET |
3. 날짜형
데이터 타입 | BYTE | 표현 범위 | 설명 |
---|---|---|---|
DATE | 3 | 1000-01-01 ~ 9999-12-31 | 날짜 표현 |
DATETIME | 8 | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 | 날짜와 시간 표현 |
TIMESTAMP | 4 | 1970-01-01 00:00:00 ~ 2037-01-19 03:14:07 | INSERT, UPDATE 연산에 유리 |
TIME | 3 | -838:59:59 ~ 838:59:59 | 시간 표현 |
YEAR | 1 | 1901 ~ 2155, 70 ~ 69 (1970~2069) | 연도 표현 |
YEAR(4) 와 같이 명시적인 길이를 표기한 데이터 유형은 MySQL 8.0.19 이후 버전부터 사용되지 않습니다.
YEAR(2) 와 같이 두 자리로 표기하는 데이터 유형은 MySQL 5.7 이후 버전부터 지원하지 않습니다.