자료형
사람의 실수로 일어날 수 있는 오류를 방지할 수 있고,
자료를 효율적인 자료형으로 저장하여 속도나, 공간도 효율적으로 사용할 수 있다.
숫자 자료형
자료형 | 바이트 | SIGNED | UNSIGNED |
---|
TINYINT | 1 | -128 ~ 127 | 0 ~ 255 |
SMALLINT | 2 | -32,768 ~ 32,767 | 0 ~ 65,535 |
MEDIUMINT | 3 | -8,388,608 ~ 8,388,607 | 0 ~ 16,777,215 |
INT | 4 | -2,147,483,648 ~ 2,147,483,647 | 0 ~ 4,294,967,295 |
BIGINT | 8 | -2^63 ~ 2^63 - 1 | 0 ~ 2^64 - 1 |
- SIGNED: 양수, 음수 모두 사용
- UNSIGNED: 양수만 사용
고정소수점
좁은 범위의 수 표현 가능하고, 정확한 값을 가진다.
자료형 | 설명 | 범위 |
---|
DECIMAL( s, d ) | 실수 부분 총 자릿수( s ) & 소수 부분 자릿수 ( d ) | s 최대 65 |
부동 소수점
넓은 범위의 수를 표현 가능하지만, 정확하지 않다
자료형 | 표현 범위 |
---|
FLOAT | -3.402...E+38 ~ -1.175...E-38 , 0 , 1.175...E-38 ~ 3.402...E+38 |
DOUBLE | -1.797...E+308 ~ -2.225E-308 , 0 , 2.225...E-308 ~ 1.797...E+308 |
문자 자료형
문자열
자료형 | 설명 | 차지하는 바이트 |
---|
CHAR( s ) | 고정 사이즈 | (남는 글자 스페이스로 채움) s (고정값) |
VARCHAR ( s ) | 가변 사이즈 | 실제 글자 수[최대 s] + 1 [글자수 정보] |
- 검색할 때 CHAR가 더 빠름
- VARCHAR 컬럼 길이값이 4글자보다 적을 경우 CHAR로 자동 변환
텍스트
자료형 | 최대 바이트 크기 |
---|
TINYTEXT | 255 |
TEXT | 65,535 |
MEDIUMTEXT | 16,777,215 |
LONGTEXT | 4,294,967,295 |
시간 자료형
자료형 | 설명 | 비고 |
---|
DATE | YYYY-MM-DD | |
TIME | HHH:MI:SS | HHH: -838 ~ 838까지의 시간 |
DATETIME | YYYY-MM-DD HH:MI:SS | 입력된 시간을 그 값 자체로 저장 |
TIMESTAMP | YYYY-MM-DD HH:MI:SS | MySQL이 설치된 컴퓨터의 시간대를 기준으로 저장 |
- 시간 데이터를 가감없이 기록할 때 DATETIME
- 시간 자동기록, 국제적인 서비스를 할 경우 TIMESTAMP 사용
(한국에서 글을 작성하면 한국 시간으로, 외국에서는 외국 시간으로 시간이 기록되어야 하기 때문에)