D3. 데이터 자료형

0ㅑ채
|2024. 1. 22. 19:21

A. 데이터 형식

정수형

데이터 형식 바이트 수 숫자 범위
TINYINT 1 -128 ~ 127
SMALLINT 2 -32,768 ~ 32,767
INT 4 약 -21억 ~ +21억
BIGINT 8 약 ~900경 ~ +900경
  • 그룹 인원을 지정할 때는 TINYINT도 충분
  • 평균 키를 지정할 때도 TINYINT를 사용할 수 있지만, 128cm 이상인 사람들을 위해
  • 값의 범위가 0부터 시작되는 UNSIGNED 예약어 사용! 255cm까지 커버 가능.

 

문자형

데이터 형식 바이트 수
CHAR(개수) 1~255
VARCHAR(개수) 1~16383
TEXT 1~65535
LONGTEXT 1~4294967295
BLOB 1~65535
LONGBLOB 1~ 4294967295
  • CHAR은 고정길이 문자형, CHAR(10)을 지정하면 입력된 글자수에 상관 없이 10자리를 모두 확보한다.
  • VARCHAR은 가별길이 문자형, VARCHAR(10)에 3글자만 저장하면 3자리만 사용한다.
  • VARCHAR가 공간을 더 효율적으로 사용하지만, 내부적인 성능(속도)면에서는 CHAR가 좋다.
  • LONGTEXT는 최대 약 42억자까지 저장한다.소설이나 영화 대본 등에 필요하다. 
  • BLOB은 글자가 아닌 이미지, 동영상 등의 데이터. 이진(Binary) 데이터!
  • LONG은 최대 4GB까지 입력 가능하다.

 

실수형

데이터 형식 바이트 수 설명
FLOAT 4 소수점 아래 7자리까지 표현
DOUBLE 8 소수점아래 15자리까지 표현

 

 

날짜형

데이터 형식 바이트 수 설명
DATE 3 날짜만 저장 YYYY-MM-DD
TIME 3 시간만 저장 HH:MM:SS
DATETIME 8 날짜 및 시간 저장

 

 

 

B. 변수 사용

SET @변수이름 = 변수의 값 ;
SELECT @변수이름 ;

 

데이터 형변환

CAST (값 AS 데이터_형식 [ (길이) ])
CONVERT (값, 데이터_형식 [ (길이) ])
  • CAST()에는 CHAR, SIGNED, UNSIGNED, DATE, TIME, DATETIME 등이 올 수 있다.
    • SIGEND: 부호가 있는 정수
    • UNSIGNED: 부호가 없는 정수
SELECT CAST(AVG(price)AS SIGNED) '평균 가격' FROM buy;
SELECT CONVERT(AVG(price), SIGNED) '평균 가격' FROM buy;

 

CONCAT(): 문자를 이어주는 함수

  • 숫자와 문자를 CONCAT(100, '200') 연결하면 자동으로 문자열 100200 출력
  • CONCAT() 사용 없이도 숫자 100과 문자 '200'을 더하면 자동으로 300 출력
SELECT num, CONCAT(CAST(price AS CHAR), 'X', CAST(amount AS CHAR), '=')
'가격X수량', price*amount '구매액'
FROM buy;

 

'SQL' 카테고리의 다른 글

JOIN  (0) 2024.01.23
NoSQL  (1) 2024.01.23
Transaction  (1) 2024.01.22
D2. SQL 문법  (1) 2024.01.22
D1. 데이터베이스 개요  (1) 2024.01.10