MariaDB 데이터 타입 정리
1. 문자열 자료형
- VARCHAR: 가변 길이 문자열
- CHAR: 고정 길이 문자열
- TEXT 계열: 대용량 텍스트
CREATE TABLE string_example (
var_str VARCHAR(10),
fixed_str CHAR(10)
);
INSERT INTO string_example VALUES ('Hello', 'Hello');
2. 숫자 자료형
정수형
- TINYINT: -128 ~ 127
- SMALLINT: -32,768 ~ 32,767
- INT: -21억 ~ 21억
- BIGINT: -900경 ~ 900경
CREATE TABLE number_example (
tiny TINYINT,
small SMALLINT,
normal INT,
unsigned_int INT UNSIGNED
);
INSERT INTO number_example VALUES (127, 32767, 2147483647, 4294967295);
실수형
- FLOAT: 일반 실수
- DOUBLE: 큰 실수
- DECIMAL: 정확한 소수점 계산
CREATE TABLE float_example (
price1 FLOAT(7,2),
price2 DECIMAL(7,2)
);
INSERT INTO float_example VALUES (123.45, 123.45);
3. 날짜/시간 자료형
- DATE: YYYY-MM-DD
- TIME: HH:MM:SS
- DATETIME: YYYY-MM-DD HH:MM:SS
CREATE TABLE date_example (
date_col DATE,
time_col TIME,
datetime_col DATETIME
);
INSERT INTO date_example VALUES
('2024-03-19', '14:30:00', '2024-03-19 14:30:00');
4. 이진 자료형
- BINARY: 고정 길이 이진
- VARBINARY: 가변 길이 이진
- BLOB 계열: 대용량 이진 데이터
CREATE TABLE binary_example (
bin_data BINARY(5),
var_bin_data VARBINARY(5)
);
INSERT INTO binary_example VALUES
(UNHEX('AB'), UNHEX('AB'));
자주 사용되는 데이터 타입 선택 기준
- 문자열:
- 고정 길이 → CHAR
- 가변 길이 → VARCHAR
- 대용량 → TEXT
- 숫자:
- 일반 정수 → INT
- 큰 정수 → BIGINT
- 정확한 소수 계산 → DECIMAL
- 날짜/시간:
- 날짜만 → DATE
- 날짜+시간 → DATETIME
- 타임스탬프 필요 → TIMESTAMP