공부/DB

MySQL/MariaDB 데이터 타입 정리

son_i 2024. 7. 8. 21:34
728x90

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/

 

Data Types

 

mariadb.com

 

https://clubred.tistory.com/entry/MariaDB-%EB%8D%B0%EC%9D%B4%ED%84%B0-%ED%83%80%EC%9E%85

 

[MariaDB] 데이터 타입

MySQL 에서 사용하는 데이터 타입에 대해서 알아본다. CHAR 데이터 타입 CHAR와 VARCHAR(VARiable length CHARacter string)은 모두 텍스트 문자열을 허용하고, 필드의 크기를 제한한다. 두 타입의 차이점은 CHAR

clubred.tistory.com

 

https://kibua20.tistory.com/188

 

MariaDB 또는 MySQL에서 사용하는 Data type 정리

관계형 데이터 베이스에서 처리하는 데이터 타입은 C, Python, Java와 같은 프로그래밍 언어의 데이터 타입보다 세부적으로 정의되어 있습니다. Maria DB에서 정의하는 데이터 타입은 아래와 같습니

kibua20.tistory.com

 

https://power-overwhelming.tistory.com/38

 

[DB/mysql] MySQL(MariaDB) 데이터 타입

MySQL (MariaDB) 데이터 타입( Data Type ) 문자형 (String Type)CHAR(n) : 고정길이 데이터 타입 (최대 255byte) - 지정된 길이보다 짧은 데이터 입력시 나머지 공간이 공백(Null)으로 채워짐CHAR(0) 은 NULL을 의미하

power-overwhelming.tistory.com

 

https://java119.tistory.com/93

 

[MySQL || MariaDB] TIMESTAMP와 DATETIME 차이점 총 정리

DATETIME index : 불가능 time zone : 영향 없음 타입 : 문자형 용량 : 8 byte 지원 범위 : 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 ON UPDATE 구문 : 사용 가능 (사용 불가로 알고 있었는데 테스트해보니 잘 되네요.) TIME

java119.tistory.com

 

728x90