Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 시큐리티
- NoSQL
- 정처기
- JPA
- 이벤트루프
- 게시판
- 영속성 컨텍스트
- 깃허브
- 캐시
- in-memory
- spring security
- 동적계획법
- 스프링부트
- 실행 컨텍스트
- SQL
- 스프링 부트
- Spring Boot
- Redis
- MongoDB
- VMware
- 분할정복
- 호이스팅
- 다이나믹프로그래밍
- sqld
- github
- 자바의 정석
- 레디스
- 정보처리기사
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- document database
Archives
- Today
- Total
FreeHand
[MySQL] 데이터 타입과 형 변환 본문
숫자형
| 데이터 타입 | 바이트 수 | 숫자 범위 | 설명 |
| BIT(N) | N/8 | 1~64bit를 표현 | |
| TINYINT | 1 | -128 ~ 127 | 정수 |
| SMALLINT | 2 | -32,768 ~ 32,767 | 정수 |
| MEDIUMINT | 3 | -8,388,608 ~ 8,388,607 | 정수 |
| INT INTEGER |
4 | 약-21억 ~ +21억 | 정수 |
| BIGINT | 8 | 약-900경 ~ +900경 | 정수 |
| FLOAT | 4 | -3.40E+38 ~ -1.17E-38 | 소수점 아래 7자리까지 표현 |
| DOUBLE REAL |
8 | -1.22E-308 ~ 1.79E+308 | 소수점 아래 15자리까지 표현 |
| DECIMAL(m, [d]) NUMERIC(m, [d]) |
5~17 | -10^38+1 ~ +10^38-1 | 전체 자릿수(m)와 소수점 이하 자릿수(d)를 사진 숫자형 |
DECIMAL은 정확한 수치를 저장하고, FLOAT나 DOUBLE은 근사치의 숫자를 저장한다.
따라서 실수를 저장하려면 DECIMAL을 사용하는 것이 바람직하다.
문자형
| 데이터 타입 | 바이트 수 | 설명 | |
| CHAR(n) | 1 ~ 255 | 고정길이 문자형. 1부터 255까지 지정. | |
| VARCHAR(n) | 1 ~ 65535 | 가변길이 문자형. 1부터 65535까지 지정. | |
| BINARY(n) | 1 ~ 255 | 고정길이 이진 데이터 값 | |
| VARBINARY(n) | 1 ~ 255 | 가변길이 이진 데이터 값 | |
| TEXT | TINYTEXT | 1 ~ 255 | 255 크기의 text 데이터 값 |
| TEXT | 1 ~ 65535 | N 크기의 text 데이터 값 | |
| MEDIUMTEXT | 1 ~ 16777215 | 16777215 크기의 text 데이터 값 | |
| LONGTEXT | 1 ~ 429467295 | 최대 4GB 크기의 text 데이터 값 | |
| BLOB | TINYBLOB | 1 ~ 255 | 255 크기의 BLOB 데이터 값 |
| BLOB | 1 ~ 65535 | N 크기의 BLOB 데이터 값 | |
| MEDIUMBLOB | 1 ~ 16777215 | 16777215 크기의 BLOB 데이터 값 | |
| LONGBLOB | 1 ~ 429467295 | 최대 4GB 크기의 BLOB 데이터 값 | |
| ENUM(v1, ...) | 1 또는 2 | 최대 65535개의 열거형 데이터 값 | |
| SET(v1, ...) | 1, 2, 3, 4, 8 | 최대 64개의 서로 다른 데이터 값 | |
공간을 효율적으로 운영하기에는 CHAR보다 VARCHAR가 더 좋지만, INSERT/UPDATE 시에 CHAR가 일반적으로 더 좋은 성능을 발휘한다.
BLOB(Binary Large OBject)은 사진, 동영상, 문서 등 대용량 이진 데이터를 저장하는 데 사용된다.
날짜와 시간
| 데이터 형식 | 바이트 수 | 설명 |
| DATE | 3 | 1001-01-01 ~ 9999-12-31까지 저장. 'YYYY-MM-DD' 형식으로 사용. |
| TIME | 3 | -838:59:59.000000 ~ 838:59:59.000000까지 저장. 'HH:MM:SS' 형식으로 사용. |
| DATETIME | 8 | 1001-01-01 00:00:00 ~ 9999-12-31 23:59;59까지 저장. 'YYYY-MM-DD HH:MM:SS' 형식으로 사용. |
| TIMESTAMP | 4 | 1001-01-01 00:00:00 ~ 9999-12-31 23:59;59까지 저장. 'YYYY-MM-DD HH:MM:SS' 형식으로 사용. UTC 시간대 변환하여 저장. |
| YEAR | 1 | 1901 ~ 2155까지 저장. 'YYYY' 형식으로 사용. |
기타
| 데이터 타입 | 바이트 수 | 설명 |
| GEOMETRY | N/A | 공간 데이터 개체를 저장. |
| JSON | 8 | JSON 문서 저장. |
형 변환
CAST (표현식 AS 데이터타입 [(길이)])
CONVERT (표현식, 데이터타입 [(길이)])
CAST 함수 또는 CONVERT 함수를 사용해서 형 변환을 할 수 있다.
사용 예1
SELECT AVG(amount) '평균 구매 개수' FROM buytbl;

SELECT CAST(AVG(amount) AS SIGNED INTEGER) '평균 구매 개수' FROM buytbl;
-- 또는 --
SELECT CONVERT(AVG(amount), SIGNED INTEGER) '평균 구매 개수' FROM buytbl;

'Database' 카테고리의 다른 글
| [Redis] 처음 만난 레디스 2 (1) | 2024.06.17 |
|---|---|
| [Redis] 처음 만난 레디스 1 (2) | 2024.06.15 |
| [MySQL] WITH절과 CTE (0) | 2023.11.05 |
| [MySQL] DELETE (0) | 2023.11.01 |
| [MySQL] UPDATE (0) | 2023.11.01 |