Computer Science/데이터베이스
[MariaDB] 데이터 타입 종류 정리해서 보자!
inseoking
2023. 7. 28. 02:14
*쓰는 것들부터 차근차근 정리해 놓자.
MariaDB에서 제공하는 데이터는 크게 4가지 타입으로 구분된다.
Data Types | Description |
Numeric Data Types | 숫자형 데이터 타입의 카테고리. 정수형/실수형 타입이 범위에 따라 정의되어 있는 것 같다. |
String Data Types | 문자형 데이터 타입의 카테고리. 기본 문자형, 문자열부터 미디어 데이터, Json, UUID등의 타입이 이 카테고리에 속하는 것 같다. |
Date and Time Data Types | 시간과 관련된 데이터 타입의 카테고리. |
Other Data Types Articles | 이외 기타 타입 및 설명에 대한 카테고리. Auto increment, Null Values들이 여기 속하는 것이 신기했다. |
카테고리를 분류했으니, 카테고리별로 실제 사용하고 있는 타입을 정리해보자(매번 새로 프로젝트를 팔 때면 데이터 타입이 헷갈린다ㅠ).
1. Numeric Data Types
Numeric Data Types | Description |
BOOLEAN(TINYINT) | C에서도 불리안 타입은 0(False), 1(True)로 썼기 때문에 같은 매커니즘으로 동작할 것으로 생각한다. TINYINT가 BOOLEAN타입과 Synonym인 것은 처음 알게 된 사실이다. (Tinyint의 경우 -128~127의 정수형 숫자범위를 갖고 있는데, 그럼 0 이하는 false, 1 이상은 true로 취급하나?) |
INT(INTEGER) | 4바이트 정수형 숫자타입. 자주 쓴다. |
BIGINT | 8바이트 정수형 숫자타입(long long 타입과 동일). |
FLOAT/DOUBLE | 각각 4, 8바이트 실수형 타입. |
2. String Data Types
String Data Types | Description |
CHAR | 고정 문자열 타입. 입력한 문자열의 길이가 정의한 길이보다 짧을 경우 오른쪽에 패딩을 추가해 길이를 고정시킨다. 예) strtest char(10)의 컬럼의 경우 'maria' -> 'maria ' 로 저장된다. |
VARCHAR | CHAR 타입은 고정된 길이를 써줘야하지만 가변 길이를 제공한다는 점에서 자주 썼다. |
LONGTEXT | 길이가 긴 문자열 처리할 때 쓰는 데이터 타입. 주로 JSON 데이터가 문자열로 담길 때 사용했던 타입이다. |
ENUM | 실제로 사용해 본적은 없지만, enum class로 분류할 수 있는 기능이 존재할 경우에 db 설계에 포함시키면 좋을 것 같다. |
UUID | UUID 형식으로 사용하기 위한 데이터를 저장할 수 있는 타입. 문자열과 동일하게 저장하지만, UUID의 형식으로 변환하여 저장해준다. |
* 이 글은 MariaDB 공식 레퍼런스를 참조하여 제가 생각한 바를 적어놓은 포스트입니다. 틀린 부분이 있다면 가감없이 고쳐주세요. 감사합니다.
출처: MariaDB