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
'공부 > 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 |