주제
1. 다양한 데이터 타입
숫자
| BIT(M) | 0과 1로만 구성 |
| TINYINT | 매우 작은 정수 |
| BOOL, BOOLEAN | True / False |
| SMALLINT | 작은 정수 |
| MEDIUMINT | 중간 크기 정수 |
| INT, INTEGER | 정수 |
| BIGINT, SERIAL | INT 보다 2배 많은 비트를 사용하는 정수 |
| DECIMAL(M, D), DEC, FIXED | 고정소수점 타입 |
| FLOAT | 부동소수점 타입 |
| DOUBLE | 부동소수점 타입 |
문자
| CHAR | 고정된 길이의 문자열, 선언된 값보다 짧은 문자열이 들어오면 빈 문자열로 나머지를 채움 |
| VARCHAR | 변동 가능한 길이의 문자열 |
| TEXT | 변동 가능한 길이의 문자열, 기본값/길이 지정 불가 |
| TINYTEXT | 작은 TEXT |
| MEDIUMTEXT | 중간 크기 TEXT |
| LONGTEXT | 큰 크기 TEXT |
| ENUM | 최초에 지정해 둔 리스트에 포함되는 값만 저장, 효율적 |
| SET | 최초에 지정해 둔 리스트에 포함되는 값들을 중복으로 저장 |
이진
| BLOB | Binary Large Object |
| TINYBLOB | 작은 BLOB |
| MEDIUMBLOB | 중간 크기 BLOB |
| LONGBLOB | 큰 BLOB |
| BINARY | Binary strings(고정된 길이) |
| VARBINARY | Binary strings(변동 가능한 길이) |
배열
- 데이터가 저장된 리스트
- 원소 : 배열에 저장된 각 데이터
- JSON 타입으로 저장
- 기본값 설정 불가
- 관련 함수
| JSON_ARRAY | JSON_TYPE | JSON_EXTRACT |
| 입력을 JSON 배열로 반환하는 함수 | JSON 데이터의 타입을 반환하는 함수 | JSON 데이터에서 데이터를 추출하는 함수 $ : 키를 지정하는 문자 |
SELECT JSON_EXTRACT(options, '$') as all_elements FROM products
Key-value
- Key와 value로 이루어진 데이터
- Key를 통해 value에 접근
- JSON 타입으로 저장
- 관련 함수
1. JSON_OBJECT : key-value로 저장
INSERT INTO 'managers_v2' ('id', 'name', 'managing', 'info') VALUES
(0, '영희', '스포츠', JSON_OBJECT('off', JSON_ARRAY('일', '월'), 'substitute', '민수')),
(1, '철수', '주방용품', JSON_OBJECT('off', JSON_ARRAY('화', '수'), 'substitute', '길순')),
(2, '민수', '디지털', JSON_OBJECT('off', JSON_ARRAY('목', '금'), 'substitute', '철수')),
(3, '길순', '키즈', JSON_OBJECT('off', JSON_ARRAY('금', '토'), 'substitute', '영희'))
2. JSON_EXTRACT : key를 지정하여 그에 대한 value값을 추출
SELECT JSON_EXTRACT(info, '$.off[0]') as off FROM managers_v2
3. JSON_INSERT : key-value 타입으로 데이터 삽입
UPDATE managers_v2 set info = JSON_INSERT(info, '$.new', JSON_ARRAY(1,2,3,4));
4. JSON_REPLACE : key-value 타입의 데이터 수정
UPDATE managers_v2 set info = JSON_REPLACE(info, '$.new', 1);'Data Science > TIL (Today I Learned)' 카테고리의 다른 글
| 프로그래머스 데이터분석 데브코스 1기 - 15일차 (0) | 2023.12.08 |
|---|---|
| 프로그래머스 데이터분석 데브코스 1기 - 14일차 (2) | 2023.12.07 |
| 프로그래머스 데이터분석 데브코스 1기 - 12일차 (1) | 2023.12.05 |
| 프로그래머스 데이터분석 데브코스 1기 - 11일차 (0) | 2023.12.04 |
| 프로그래머스 데이터분석 데브코스 1기 - 10일차 (0) | 2023.12.01 |