정수형
- TINYINT(타이니인트)
- 1Byte 크기의 매우 작은 정수 저장- SMALLINT(스몰인트)
- 2Byte 크기의 작은 정수 저장- MIDIUMINT(미디움인트)
- 3Byte 크기의 중간 정수 저장- INTEGER(인티저) 또는 INT(인트)
- 4Byte 크기의 표준 정수 저장- BIGINT(빅인트)
- 8Byte 크기의 매우 큰 정수 저장
CREATE TABLE 테이블명(
칼럼명 데이터_타입 UNSIGNED
);
부동 소수점 방식(FLOAT, DOUBLE)
- 실수를 저장하되, 소수점의 위치가 변하는 특징을 가짐
- 1.234, 12.34, 123.4 와 같이 소수점의 위치가 다른 세 수를 부동 소수점 방식으로 표현하면 다음과 같음
- 1.234 => 1.234 x 10^0 (가수 : 1.234, 지수 : 0)
- 12.34 => 12.34 x 10^1 (가수 : 12.34, 지수 : 1)
- 123.4 => 123.4 x 10^2 (가수 : 123.4, 지수 : 2)
- 예시에서 볼 수 있듯 부동 소수점 방식은 모든 수를 소수점 위 한 자리까지만 있는 가수로 바꾼 후 지수를 조정해 숫자를 표현함
고정 소수점 방식
- 소수점 이하 자릿수가 고정된 실수를 저장
- 표현할 수 있는 최대 자릿수를 나타내는 정밀도 P와 소수점 이하 자릿수를 나타내는 스케일 S로 실수를 표현
칼럼명 INT DECIMAL(5, 2)
// 최대 길이가 5(P)
// 그 중 소수점의 길이는 2(S)
// 예시 : 123.45
1. TINYINT, DECIMAL 등을 활용해 테이블 자료형 만들기

2. 테이블 데이터 삽입하기

CHAR는 고정 길이의 문자를 저장하는 자료형입니다.
CHAR
고정 길이의 문자를 저장하는 자료형
지정된 길이만큼의 메모리 공간 차지
CHAR(10) => 문자길이 10만큼의 메모리 공간 확보
CHAR(10) 자료형에 aaaa를 저장할 시 aaaa__ 이렇게 공백으로 저장
최대 255개의 문자 데이터 저장 가능
우편번호나 국가 코드 등 길이가 일정한 데이터를 저장할때 용이
VARCHAR는 가변 길이의 문자를 저장하는 자료형입니다.
VARCHAR
가변 길이의 문자를 저장하는 자료형
실제 입력한 길이만큼만 메모리 공간을 차지
VARCHAR(500)은 최대 500만큼의 문자까지 저장 가능
하지만 a를 저장하면 a 하나만 저장(공백 저장 안함)
최대 65,535개의 문자 데이터 저장 가능
길이가 일정하지 않은 문자열을 저장할때 용이
TEXT
- 긴 문자열을 저장하기 위한 자료형
- 주로 VARCHAR가 저장할 수 있는 문자열보다 더 긴 문자열을 저장할 때 사용
- 지정할 수 있는 최대 크기에 따라 텍스트 타입이 다름
- TINYTEXT
- 255Byte 까지 저장 가능- TEXT
- 약 64KB까지 저장 가능- MEDIUMTEXT
- 약 16MB까지 저장 가능- LONGTEXT
- 약 4GB까지 저장 가능
BLOB
- 크기가 큰 파일을 저장하기 위한 자료형
- 이미지, 오디오, 비디오 파일 등을 저장할 때 사용
- 저장할 수 있는 최대 크기에 따라 블롭 타입이 다름
- TINYBLOB
- 최대 255Byte 까지 저장 가능- BLOB
- 약 64KB 까지 저장 가능- MEDIUMBLOB
- 약 16MB 까지 저장 가능- LARGEBLOB
- 약 4GB까지 저장 가능
ENUM('bronze', 'silver', 'gold')


DATE
- 날짜를 저장하기 위한 자료형
- YYYY-MM-DD 형식으로 날짜를 지정
- DATE 날짜의 유효범위는 1000-01-01 부터 9999-12-31까지
TIME
- 시간을 저장하기 위한 자료형
- hh:mm:ss 형식으로 시간을 저장
- TIME의 유효범위는 -838:59:59 부터 838:59:59까지
- 추가옵션에 따라 밀리초, 마이크로초 까지 저장 가능
DATETIME
- 날짜와 시간을 함께 저장하기 위한 자료형
- YYYY-MM-DD hh:mm:ss 형식으로 날짜와 시간을 저장
- DATETIME의 유효범위는 1000-01-01 00:00:00 부터 9999-12-31 23:59:59까지
- 추가옵션에 따라 밀리초, 마이크로초 까지 저장 가능
YEAR
- 4자리 연도를 저장하기 위한 자료형
- YEAR에 저장할 수 있는 연도의 유효 범위는 1901 부터 2155까지
- 연도를 알 수 없는 경우에 0000도 YEAR로 저장 가능
DATE, TIME, DATETIME, YEAR 사용해서 테이블 만들기

테이블에 데이터 삽입하기


select *
from 테이블명
where 칼럼명 like 찾는패턴;
와일드 카드
- % : 0개 또는 그 이상의 임의의 문자
- %조건명 : 조건명으로 시작하는 칼럼
- 조건명% : 조건명으로 끝나는 칼럼
- %조건명% : 조건명을 포함하는 칼럼
- : 엄격하게 글자수와 조건을 정함
- 조건명 : 조건명을 앞에 포함하는 4글자
- _조건명 : 조건명을 뒤에 포함하는 4글자
- 조건 : 조건을 2번째, 3번째에 포함하는 4글자
- _ : 한 글자
- __ : 두 글자
- _ : 다섯 글자
- 예를 들어 위에서 만든 order 테이블에서 케첩이라는 글자를 포함한 이름을 가진 튜플을 찾고싶다면
- 국내로 시작하는 세글자를 포함한 이름을 가진 튜플을 찾고싶다면


시간 함수
- HOUR(시간) : 시간
- MINUITE(시간) : 분
- SECONDS(시간) : 초
- TIME_TO_SEC(시간) : 시, 분, 초를 초로 환산

SELECT *
FROM 테이블명
WHERE 칼럼명 BETWEEN 시작_값 AND 마지막_값;


아까 만들었던 orders 테이블을 활용해 문제를 풀어보세요
1. 상품명이 '국내산'으로 시작하는 주문의 개수를 구하세요.

2. 주문 수량이 2~4개인 상품의 평균 가격을 구하세요.

3. 11월 주문 중 11월 20일 이후에 들어온 주문의 개수를 구하세요.

4. 상품명에 부피 단위인 'ml' 또는 'l'가 포함된 주문을 모두 조회하세요.

5. 10월과 12월에 들어온 주문의 개수를 구하세요(11월은 미포함)

수량(quantity)를 구하는게 아니라 갯수(count(*))를 구하는거였네요🥲