자료형이란
자료형의 개념
자료형(data type)이란 데이터의 형태를 말하는 것으로, 데이터가 가질 수 있는 값의 종류와 그 값이 메모리에서 차지하는 크기를 정의합니다.
- INTEGER(정수형)
- VARCHAR(문자형)
- DECIMAL(고정 소수점형)
- DATERIME(날짜와 시간형)
숫자형
- 정수형 : -2, -1, 0, 1, 2 와 같이 소수점이 없는 숫자를 저장합니다.
CREATE TABLE 테이블명 (
칼럼명 데이터_타입 UNSIGNED
);
UNSIGNED로 정의된 칼럼에는 음수 값을 저장할 수 없어 저장 가능한 값의 범위가 0 이상의 정수로 제한됩니다. 따라서 저장할 수 있는 최대값이 두 배로 증가합니다.

제약 조건 : 칼럼에 저장할 수 있는 값에 대해 어떤 제한이나 규칙을 거는 것
- 실수형
- 부동 소수점 방식(floating-point) :
실수를 저장하되, 소수점의 위치가 변하는 특징이 있습니다. 모든 수를 소수점 위 한 자리까지만 있는 가수로 바꾼 후 지수를 조정해 숫자를 표현합니다.
특정 소수점 이하의 자릿수 숫자를 정확하게 저장하지 못하고 근사값으로 저장하는 단점이 있습니다.
FLOAT(플로트), DOUBLE(더블) - 고정 소수점 방식(fixed-point) :
소수점 이하 자릿수가 고정된 실수를 저장합니다.
DECIMAL(5, 2)는 고정 소수점 방식의 자료형으로, 소수점 이하 숫자를 포함해 최대 5자리를 표현할 수 있으며 그 2자리는 소수점 이하 자리로 사용됩니다.
- 부동 소수점 방식(floating-point) :
자료형의 범위를 벗어난 값을 입력한 경우
Error Code : 1264. Out of range value for column 'grade' at row 1
자료형의 범위에서 벗어난 값을 입력하면 에러가 발생합니다.
문자형
- CHAR : 고정 길이의 문자를 저장하는 자료형으로 지정된 길이만큼의 메모리 공간을 차지합니다. 최대 255개 문자를 저장할 수 있으며 자릿수가 고정된 우편번호나 국가 코드 등을 저장하기 좋습니다.
- VARCHAR : 가변 길이의 문자를 저장하는 자료형으로 실제 입력한 길이만큼만 메모리 공간을 차지합니다. 최대 65,535개 문자를 저장할 수 있으며 길이가 일정하지 않은 문자열을 저장하기 좋습니다.


- BLOB(Binary Large Object) : 크기가 큰 파일을 저장하기 위한 자료형으로 이미지, 오디오, 비디오 파일 등을 저장할 때 사용합니다.

- ENUM : 주어진 목록 중 하나만 선택해 입력할 수 있는 자료형입니다. ENUM은 입력 가능한 목록을 제한함으로써 잘못된 입력을 예방할 수 있습니다.

날짜 및 시간형
- DATE : 날짜를 저장하기 위한 자료형으로, YYYY-MM-DD 형식으로 날짜를 저장합니다.
- TIME : 시간을 저장하기 위한 자료형으로, hh:mm:ss 형식으로 시간을 저장합니다.
- DATETIME : 날짜와 시간을 함께 저장하기 위한 자료형으로, YYYY-MM-DD hh:mm:ss 형식으로 날짜와 시간을 저장합니다.
- YEAR : 4자리 연도를 저장하기 위한 자료형으로, YYYY 형식으로 연도를 저장합니다. 연도를 알 수 없거나 명시하지 않은 경우를 표현하기 위해 0000도 YEAR로 저장할 수 있습니다.

문자열 필터링하기
LIKE 연산자
LIKE 연산자는 칼럼 값이 특정 패턴과 완전히 일치하거나 특정 패턴을 포함하는지 확인할 때 사용합니다.
SELECT *
FROM 테이블명
WHERE 칼럼명 LIKE '찾는_패턴';
와일드 카드
와일드 카드(wildcard)란 특정 패턴을 찾는 데 사용하는 다음의 기호를 말합니다.
- % : 0개 또는 그 이상의 임의의 문자를 의미합니다.
- _ : 정확히 1개의 임의의 문자를 의미합니다.

날짜 필터링하기
날짜 함수
- YEAR(날짜) : 입력 날짜의 ‘연도’ 추출
- MONTH(날짜) : 입력 날짜의 ‘월’ 추출
- DAY(날짜) : 입력 날짜의 ‘일’ 추출
- EXTRACT(필드 FROM 날짜) : 입력 날짜에서 특정 ‘필드’ 추출

시간 필터링하기
시간 함수
- HOUR(시간) : 입력 시간의 ‘시’ 추출
- MINUTE(시간) : 입력 시간의 ‘분’ 추출
- SECOND(시간) : 입력 시간의 ‘초’ 추출
- TIME_TO_SEC(시간) : 입력 시간의 시, 분, 초를 ‘초’로 환산

특정 범위 필터링하기
BETWEEN 연산자
BETWEEN 연산자는 두 값 사이에 속하는지 확인할 때 사용하는 연산자입니다. BETWEEN 연산의 결과, 시작 값과 마지막 값을 포함해 두 값 사이에 속하는 모든 튜플이 필터링됩니다.
SELECT *
FROM 테이블명
WHERE 칼럼명 BETWEEN 시작_값 AND 마지막_값;





