MySQL

MySQL의 데이터 형식.MySQL

john_ 2023. 2. 6. 18:53
728x90

MySQL에서 지원하는 데이터 형식의 종류

  • Data Type으로 표현
    • 데이터 형식, 데이터 형, 자료형, 데이터 타입 등 다양하게 불림
  • 데이터 형식에 대한 이해가 필요한 이유
    • SELECT 문 더욱 잘 활용
    • 테이블의 생성을 효율적으로 하기 위해 필요합니다.
  • MySQL에서 데이터 형식의 종류는 30개 정도가 있습니다.
    • 중요하고 자주 쓰는 형식에 대해 중점 학습합시다.

 


숫자 데이터 형식

 

  • tinyint = byte
  • small int = short
  • int = int
  • bigint = long

문자 데이터 형식

 


날짜와 시간 데이터 형식

 


기타 데이터 형식


LONGTEXT, LONGBLOB

  • LOB(Large Object, 대량의 데이터)을 저장하기 위해 LONGTEXT, LONGBLOB 데이터 형식을 지원합니다.
  • 지원되는 데이터의 크기는 약 4GB의 파일을 하나의 데이터로 저장 가능합니다.
  • LONGTEXT
    • EX) 장편소설과 같은 큰 텍스트 파일
  • LONGBLOB
    • EX) 동영상 파일과 같은 큰 바이너리 파일

 


변수의 사용

  • WORKBENCH 를 재시작 할때 까지는 계속 유지, WORKBENCH를 닫았다가 재시작하면 소멸
  • 변수의 선언과 값의 대입 형식

  • 변수 사용 실습

 


 

  • 세일 변수를 하나 생성 : 10% 할인, 세일변수 = 0.1
  • BUYTBL에 PRICE 할인율을 적용해서 출력하세요.

 

 


  • LIMIT 사용
    • LIMIT는 원칙적으로 변수를 사용할 수 없으나 PREPARE와 EXECUTE문을 활용해서 변수의 활용도 가능합니다.
SET @MYVAR1 =3;
-- LIMIT에 변수를 바로 적용 x
SELECT NAME, HEIGHT FROM USERTBL ORDER BY HEIGHT LIMIT @MYVAR1;

-- PREPARE(준비) EXECUTE(실행)문을 활용하여 변수를 LIMIT에 적용
PREPARE MYQUERY -- PREPARE 부분에서 변수를 대입할 부분을 ? 로 표기합니다.
	FROM 'SELECT NAME, HEIGHT FROM USERTBL ORDER BY HEIGHT LIMIT ?';
    
EXECUTE MYQUERY USING @MYVAR1;

 


데이터 형식과 형 변환

  • 데이터 형식 변환 함수
  • CAST(), CONVERT() 함수를 가장 일반적으로 사용합니다.
  • 데이터 형식 중에서 가능한 것은 BINARY, CHAR, DATE, DATETIMIE, DECIMAL, JSON, SIGNED INTERGER, TIME, UNSIGNED INTEGER
  • 함수 사용법
CAST( EXPRESSION AS 데이터 형식 [(길이)])
CONVERT (EXPRESSION, 데이터 형식 [(길이)])

 

-- SQLDB의 구매 테이블(BUY TBL)에서 평균 구매 개수를 구하는 쿼리문
SELECT CAST(AVG(AMOUNT) AS SIGNED INTEGER) AS '평균 구매 개수' FROM BUYTBL;
-- OR
SELECT CONVERT(AVG(AMOUNT), SIGNED INTEGER) AS '평균 구매 개수' FROM BUYTBL;

 


 

  • CAST와 CONVERT를 사용하여 물품명과 원가격, 할인율을 출력하고, 할인가격을 계산하여 출력하십시오.


SELECT CAST('2020$12$12' AS DATE);
SELECT CAST('2020/12/12' AS DATE);
SELECT CAST('2020%12%12' AS DATE);
SELECT CAST('2020@12@12' AS DATE);

-- 위 모두는 전부 2020-12-12로 출력이 됩니다.

 

데이터 형식과 형 변환

  • 암시적인 형변환
    • CAST()나 CONVERT() 함수를 사용하지 않고 형이 변환 되는것

 

728x90

'MySQL' 카테고리의 다른 글

MySQL의 데이터 형식-3(수학함수).MySQL  (0) 2023.02.07
MySQL의 데이터 형식-2(문자열 함수).MySQL  (0) 2023.02.07
WITH 절과 CTE .MySQL  (0) 2023.02.06
SQL기본.mySQL  (0) 2023.02.06
MYSQL 팁(계속추가)  (0) 2023.02.06