[SQL] 데이터베이스 입문 5일차_다양한 자료형 활용하기

자료형이란

자료형의 개념

자료형(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자리는 소수점 이하 자리로 사용됩니다.

자료형의 범위를 벗어난 값을 입력한 경우

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 마지막_값;

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다