MySQL에서 데이터 타입의 종류에는 어떤 것들이 있나요?
_____A1: MySQL에서 주요 데이터 타입은 크게 숫자형, 문자형, 날짜 및 시간형, 그리고 공간형 데이터 타입으로 나뉩니다.
---
Q2: 숫자형 데이터 타입에는 어떤 것들이 있나요?
A2: 숫자형은 정수형과 부동소수점형으로 구분됩니다.
- 정수형: TINYINT, SMALLINT, MEDIUMINT, INT (또는 INTEGER), BIGINT
- 부동소수점형: FLOAT, DOUBLE, DECIMAL (또는 NUMERIC) — DECIMAL은 고정 소수점 타입입니다.
---
Q3: 문자형 데이터 타입은 어떤 종류가 있나요?
A3: 문자형은 크게 문자열과 텍스트로 분류됩니다.
- 고정 길이: CHAR(n) — 고정 길이 문자열
- 가변 길이: VARCHAR(n) — 최대 길이 n까지의 가변 문자열
- 텍스트 타입: TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT — 대용량 텍스트 저장용
- 이진형: BINARY, VARBINARY, BLOB (TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB) — 이진 데이터 저장용
---
Q4: 날짜 및 시간 관련 데이터 타입에는 무엇이 있나요?
A4: 날짜와 시간을 저장하기 위한 타입으로는 다음이 있습니다.
- DATE: 날짜만 저장 (YYYY-MM-DD)
- DATETIME: 날짜와 시간 저장 (YYYY-MM-DD HH:MM:SS)
- TIMESTAMP: 날짜와 시간 저장, 타임존 지원
- TIME: 시간 저장 (HH:MM:SS)
- YEAR: 연도 저장 (4자리 또는 2자리)
Q5: 공간 데이터 타입이란 무엇이며, 어떤 종류가 있나요?
A5: 공간 데이터 타입은 지리 좌표 및 공간 사양을 저장하는 데 사용됩니다.
- GEOMETRY: 기본 공간 타입
- POINT, LINESTRING, POLYGON 등 — 각각 점, 선, 다각형을 표현
- MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION — 복합 공간 데이터용
---
Q6: ENUM과 SET 데이터 타입은 무엇인가요?
A6: ENUM과 SET은 제한된 값 집합에서 선택하는 데 사용됩니다.
- ENUM: 미리 정의된 선택 가능한 단일 값들 중 하나 저장
- SET: 미리 정의된 값 집합 중 여러 개를 조합해서 저장 가능
---
Q7: 각각의 데이터 타입을 선택할 때 주의할 점이 있나요?
A7: 예, 데이터 크기와 형태, 저장 효율성, 처리 속도, 그리고 필요한 범위를 고려해 적절한 타입을 선택해야 합니다. 예를 들어, 숫자 범위가 작은 경우 TINYINT를 쓰고, 문자열 길이가 짧으면 CHAR, 변동이 크면 VARCHAR를 씁니다. 날짜와 시간은 상황에 맞게 DATE, DATETIME, TIMESTAMP를 선택하세요.
---
요약 :
- 숫자형: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL
- 문자형: CHAR, VARCHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, BINARY, VARBINARY, BLOB
- 날짜/시간형: DATE, DATETIME, TIMESTAMP, TIME, YEAR
- 공간형: GEOMETRY 및 관련 타입들
- 특수형: ENUM, SET
MySQL 데이터 타입을 이해하면 데이터 저장 공간 절약과 효율적인 쿼리 작성이 가능합니다.
데이터 타입은 크게 세 가지 범주로 나눌 수 있습니다: 숫자형, 문자열형, 날짜 및 시간형. 각 범주에 속하는 데이터 타입에 대해 자세히 살펴보겠습니다.
1. 숫자형 데이터 타입 숫자형 데이터 타입은 정수 및 부동 소수점 숫자를 저장하는 데 사용됩니다.
MySQL에서 제공하는 주요 숫자형 데이터 타입은 다음과 같습니다: - TINYINT : 1바이트 정수, -128에서 127 또는 0에서 255까지의 값을 저장할 수 있습니다.
- SMALLINT : 2바이트 정수, -32,768에서 32,767 또는 0에서 65,535까지의 값을 저장할 수 있습니다.
- MEDIUMINT : 3바이트 정수, -8,388,608에서 8,388,607 또는 0에서 16,777,215까지의 값을 저장할 수 있습니다.
- INT (또는 INTEGER) : 4바이트 정수, -2,147,483,648에서 2,147,483,647 또는 0에서 4,294,967,295까지의 값을 저장할 수 있습니다.
- BIGINT : 8바이트 정수, -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807 또는 0에서 18,446,744,073,709,551,615까지의 값을 저장할 수 있습니다.
- FLOAT : 4바이트 부동 소수점 숫자, 소수점 이하의 정밀도가 필요할 때 사용됩니다.
- DOUBLE : 8바이트 부동 소수점 숫자, 더 높은 정밀도가 필요할 때 사용됩니다.
- DECIMAL (또는 NUMERIC) : 고정 소수점 숫자, 정확한 소수점 계산이 필요한 경우 사용됩니다.
이 데이터 타입은 소수점의 자리수를 지정할 수 있습니다.
2. 문자열형 데이터 타입 문자열형 데이터 타입은 텍스트 데이터를 저장하는 데 사용됩니다.
MySQL에서 제공하는 주요 문자열형 데이터 타입은 다음과 같습니다: - CHAR : 고정 길이 문자열, 최대 255자까지 저장할 수 있습니다.
길이가 짧은 문자열에 적합합니다.
- VARCHAR : 가변 길이 문자열, 최대 65,535자까지 저장할 수 있습니다.
길이가 다양한 문자열에 적합합니다.
- TINYTEXT : 최대 255자까지 저장할 수 있는 문자열입니다.
- TEXT : 최대 65,535자까지 저장할 수 있는 문자열입니다.
- MEDIUMTEXT : 최대 16,777,215자까지 저장할 수 있는 문자열입니다.
- LONGTEXT : 최대 4,294,967,295자까지 저장할 수 있는 문자열입니다.
- BINARY : 고정 길이 이진 데이터, CHAR와 유사하지만 이진 데이터를 저장합니다.
- VARBINARY : 가변 길이 이진 데이터, VARCHAR와 유사하지만 이진 데이터를 저장합니다.
- TINYBLOB : 최대 255바이트까지 저장할 수 있는 이진 데이터입니다.
- BLOB : 최대 65,535바이트까지 저장할 수 있는 이진 데이터입니다.
- MEDIUMBLOB : 최대 16,777,215바이트까지 저장할 수 있는 이진 데이터입니다.
- LONGBLOB : 최대 4,294,967,295바이트까지 저장할 수 있는 이진 데이터입니다.
- ENUM : 미리 정의된 문자열 값 중 하나를 저장할 수 있는 데이터 타입입니다.
- SET : 미리 정의된 문자열 값의 집합 중 여러 개를 저장할 수 있는 데이터 타입입니다.
3. 날짜 및 시간형 데이터 타입 날짜 및 시간형 데이터 타입은 날짜와 시간을 저장하는 데 사용됩니다.
MySQL에서 제공하는 주요 날짜 및 시간형 데이터 타입은 다음과 같습니다: - DATE : 날짜를 'YYYY-MM-DD' 형식으로 저장합니다.
범위는 '1000-01-01'에서 '9999-12-31'까지입니다.
- DATETIME : 날짜와 시간을 'YYYY-MM-DD HH:MM:SS' 형식으로 저장합니다.
범위는 '1000-01-01 00:00:00'에서 '9999-12-31 23:59:59'까지입니다.
- TIMESTAMP : 날짜와 시간을 'YYYY-MM-DD HH:MM:SS' 형식으로 저장하며, UTC 시간으로 저장됩니다.
범위는 '1970-01-01 00:00:01' UTC에서 '2038-01-19 03:14:07' UTC까지입니다.
- TIME : 시간을 'HH:MM:SS' 형식으로 저장합니다.
범위는 '-838:59:59'에서 '838:59:59'까지입니다.
- YEAR : 연도를 저장하는 데이터 타입으로, 'YYYY' 형식으로 저장됩니다.
범위는 1901에서 2155까지입니다.
결론 MySQL은 다양한 데이터 타입을 제공하여 사용자가 필요에 따라 적절한 타입을 선택할 수 있도록 합니다.
데이터 타입을 올바르게 선택하는 것은 데이터베이스의 성능과 효율성을 높이는 데 중요한 요소입니다.
데이터의 특성과 요구 사항에 따라 적절한 데이터 타입을 선택하여 데이터베이스 설계를 최적화하는 것이 중요합니다.
작성자:
정유빈 [비회원]
| 작성일자: 1년 전
2024-09-20 08:05:22
조회수: 208 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 208 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.