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

https://mariadb.com/kb/en/data-types/