본문 바로가기

SQL

SQL ) 데이터 타입

SQL에서 데이터 타입은 테이블에 저장되는 값의 종류를 정의합니다.

데이터 타입에 따라 저장되는 데이터의 크기와 형식이 달라집니다. 

 

1. 문자열 타입

문자 데이터(텍스트)를 저장하는 데 사용됩니다.

  • CHAR(n): 고정 길이의 문자열을 저장합니다. 길이가 정확히 n인 문자열이 저장되며, 부족할 경우 공백으로 채워집니다.
    • 예: CHAR(10)은 10자의 고정된 길이 문자열을 저장합니다.
  • VARCHAR(n): 가변 길이의 문자열을 저장합니다. 최대 n 길이까지 문자열을 저장할 수 있으며, 실제 입력된 길이만큼만 저장합니다.
    • 예: VARCHAR(50)은 최대 50자까지 저장 가능하지만, 실제 사용된 길이에 따라 저장됩니다.
  • TEXT: 매우 긴 문자열을 저장할 때 사용합니다. 특정 길이에 제한이 없으며, 대량의 텍스트 데이터를 저장할 수 있습니다.

2. 숫자 타입

숫자 데이터를 저장하는 데 사용됩니다. 정수와 실수로 나눌 수 있습니다.

정수형:

  • INT: 정수를 저장합니다. 일반적으로 4바이트를 사용하여 -2,147,483,648에서 2,147,483,647까지의 값을 저장할 수 있습니다.
  • SMALLINT: 더 작은 범위의 정수를 저장합니다. 2바이트를 사용하며, -32,768에서 32,767까지의 값을 저장할 수 있습니다.
  • BIGINT: 매우 큰 범위의 정수를 저장합니다. 8바이트를 사용하여 더 넓은 정수 범위를 지원합니다.
  • TINYINT: 1바이트 정수를 저장합니다. 0에서 255까지의 값을 저장할 수 있습니다(부호 없는 경우).

실수형:

  • FLOAT: 부동 소수점 숫자를 저장합니다. 소수점 이하 자릿수가 변동될 수 있는 실수를 저장할 때 사용됩니다.
  • DOUBLE: FLOAT보다 더 높은 정밀도를 제공하는 부동 소수점 숫자를 저장합니다.
  • DECIMAL(p, s) 또는 NUMERIC(p, s): 고정 소수점 숫자를 저장합니다. p는 총 자리수, s는 소수점 이하 자리수를 의미합니다. 금융 계산 등 정밀도가 중요한 경우 사용합니다.
    • 예: DECIMAL(10, 2)는 10자리 중 2자리는 소수점 이하에 사용됨.

3. 날짜와 시간 타입

날짜와 시간 데이터를 저장합니다.

  • DATE: 날짜를 YYYY-MM-DD 형식으로 저장합니다.
  • TIME: 시간을 HH:MM:SS 형식으로 저장합니다.
  • DATETIME: 날짜와 시간을 함께 저장합니다. YYYY-MM-DD HH:MM:SS 형식으로 나타냅니다.
  • TIMESTAMP: 날짜와 시간을 저장하지만, UTC 기준의 타임스탬프를 저장합니다. 시스템의 시간대에 맞춰 자동으로 업데이트될 수 있습니다.
  • YEAR: 연도를 저장합니다. YEAR(2) 또는 YEAR(4)로 표현되며, 2자리나 4자리 연도를 저장할 수 있습니다.

4. 논리 타입

참(True) 또는 거짓(False) 값을 저장합니다.

  • BOOLEAN: 논리형 데이터를 저장합니다. 일부 SQL에서는 TRUE와 FALSE 값을 지원하며, 내부적으로는 TINYINT(1)로 처리됩니다(1은 참, 0은 거짓).

5. 바이너리 타입

바이너리 데이터를 저장하는 데 사용됩니다.

  • BLOB (Binary Large Object): 대용량 바이너리 데이터를 저장합니다. 이미지, 동영상, 파일 등을 저장할 때 사용됩니다.
  • VARBINARY(n): 가변 길이의 바이너리 데이터를 저장합니다. n은 저장 가능한 최대 크기를 나타냅니다.

6. 기타 데이터 타입

SQL에서는 위에 언급된 일반적인 데이터 타입 외에도 다양한 데이터 타입을 지원합니다.

  • ENUM: 특정 값들의 목록 중 하나를 선택하여 저장할 수 있습니다.
    • 예: ENUM('small', 'medium', 'large')는 이 세 가지 값 중 하나만 저장할 수 있습니다.
  • SET: 여러 값을 선택할 수 있는 데이터 타입으로, 목록 중 여러 값이 동시에 저장 가능합니다.
    • 예: SET('a', 'b', 'c')는 'a', 'b', 'c' 중 하나 이상의 값을 동시에 저장할 수 있습니다.

 

반응형

'SQL' 카테고리의 다른 글

SQL ) CASE문  (0) 2024.10.11
SQL ) 조인 JOIN  (0) 2024.10.08
SQL ) 집계함수  (2) 2024.09.30
SQL ) 데이터베이스 키(KEY) 종류  (0) 2024.09.19
SQL ) 명령어  (0) 2024.09.03