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 |