1. Numeric Data Type
2. String Data Types
3. Date & Time Data Types
4. Other Data Types : Geometry Types 는 나중에 필요할 때 정리
1. Numeric Data Types 숫자 표현
TinyInt : 1Byte
SmallInt : 2Byte
Medium Int : 3Byte
Int : 4Byte
소수점 실수 정밀도에 따라 Float, Double로 표현
Bit(m)는 m자리수의 Bit 표현
데이터 타입 | 바이트 | signed 최소 값~최대 값 | unsigned 최소 값~최대 값 | 설명 |
TINYINT | 1 | -128 ~ 127 | 0 ~ 255 | |
BOOL, BOOLEAN | TINYINT(1)의 동의어 0은 거짓, 0이 아닌 값은 참 |
|||
INT1 | TINYINT의 동의어 | |||
SMALLINT | 2 | -32768 ~ 32767 | 0 ~ 65535 | |
INT2 | SMALLINT의 동의어 | |||
MEDIUMINT | 3 | -8388608 ~ 8388607 | 0 ~ 1677215 | |
INT3 | MEDIUMINT의 동의어 | |||
INT or INTEGER | 4 | -2147483648 ~ 2147483647 |
0 ~ 4294967295 | |
INT4 | INT의 동의어 | |||
BIGINT | 8 | -9223372036854775808 ~ 92233720368547758087 |
0 ~ 18446744073709551615 |
|
INT8 | BIGINT의 동의어 | |||
DECIMAL | ||||
FLOAT | 4 | -3.40E+45 ~ 3.40E+45 | no unsigned | 부동 소수형 데이터 타입 |
DOUBLE | 8 | -1.7976E+320 ~ 1.7976E+320 | 부동 소수형 데이터 타입 | |
BIT(M) | m에 따라 다름 |
비트 필드 |
2. String Data Types 문자열 표현
문자열과 Binary 데이터 표현.
문자열을 표시 : Char, Text
이진 파일 표시 : Binary, Blob
TEXT는 기본 값을 가질 수 없다.
MySQL은 TEXT 열의 처음 n개의 문자만 인덱싱 할 수 있다.
=> 전체 내용을 검색할 때는 VARCHAR이 더 알맞고 빠름.
데이터 타입 | 의미 | 설명(예제) |
String Literals | ""로 표현된 문자열 | "The mariaDB String" |
CHAR(M) | 고정 문자열 (M글자) | CHAR(50) 'hello'이면 50바이트 사용 |
VARCHAR(M) | 가변 문자열 (M글자 까지) | VARCHAR(50) 'hello'이면 5바이트 사용 |
BINARY(M) | 정확히 M까지 | CHAR형태의 이진데이터 타입 |
VARBINARY(M) | 최대 M까지 | VARCHAR형태의 이진데이터 타입 |
BLOB : 65535바이트를 넘는 이진데이터 타입에 유용, 기본 값을 가질 수 없다. | ||
TINYBLOB | 최대 255 Byte | 이진데이터 타입 |
BLOB(M) | 최대 65535 Byte | 이진데이터 타입 |
MEDIUMBLOB | 최대 16777215 Byte | 이진데이터 타입 |
LONGBLOB | 최대크기 4GB | 이진데이터 타입 |
문자열 | ||
TINYTEXT | 최대 8byte 문자열 | 문자열 데이터 타입 |
TEXT | 최대 64KB 문자열 | 문자열 데이터 타입 기본 값을가질 수 없다. |
MEDIUMTEXT | 최대 16MB 문자열 | 문자열 데이터 타입 |
LONGTEXT | 최대 4GB 문자열 | 문자열 데이터 타입 |
기타 | ||
INET6 | IPv6 address | |
JSON Data Type | LONGTEXT와 동일 | |
ROW |
3. Date & Time Data Types
DATETINE은 입력된 날짜와 시간 그대로 데이터를 저장.
TIMESTAMP는 time_zone 시스템 변수로 값을 지정.
TIMESTAMP는 데이터 입출력 시 time_zone 시스템 변수 값을 체크해 변환하여 처리한다.
데이터 타입 | 의미 | 설명 |
DATE | YYYY-MM-DD (연도-월-날짜) |
날짜 표시 (3Byte) |
TIME | HH:MM:SS (시:분:초) |
시간 표시 (3Byte) |
DATETIME | YYYY-MM-DD hh:mm:ss | 날짜 + 시간 표시 (8Byte) |
TIMESTAMP | YYY-MM-DD HH:MM:SS.ffffff | 날짜 + 시간 형태의 기간 표현(4Byte) 시스템 변경 시 자동으로 그 날짜와 시간 저장. |
YEAR | 4자리 숫자 | 연도 표시 (1Byte) |
참고
https://mariadb.com/kb/en/data-types/
https://clubred.tistory.com/entry/MariaDB-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%83%80%EC%9E%85
https://kibua20.tistory.com/188
https://power-overwhelming.tistory.com/38
https://java119.tistory.com/93
'공부 > DB' 카테고리의 다른 글
RDS Maria DB 초기 세팅 + 데이터 저장 시 Incorrect String Value 오류 해결 (0) | 2024.08.07 |
---|---|
데이터 베이스 정규화(Normalization) (0) | 2024.07.09 |
RDBMS 종류 및 특징 + MySQL vs MariaDB (0) | 2024.07.08 |
RDBMS vs NoSQL (0) | 2024.07.08 |
데이터 모델링 - ERD 다이어그램 (0) | 2024.07.07 |