기본 미션: p. 195의 확인 문제 4번 풀고 인증하기
선택 미션: p. 183 [좀 더 알아보기] 손코딩 실행하고 결과화면 인증하기
데이터 형식 | 바이트 수 | 숫자 범위 |
---|---|---|
TINYINT | 1 | -128 ~ 127 |
SMALLINT | 2 | -32,768 ~ 32,767 |
INT | 4 | 약 -21억 ~ +21억 |
BIGINT | 8 | 약 -900경 ~ +900경 |
이런 데이터 형식을 사용해서 낭비되지 않도록 회원테이블을 만들었다
UNSIGNED는 값의 범위가 0부터 시작되는 예약어로
만약 TINYINT를 TINYINT UNSIGNED로 표현한다면 0 ~ 255로 표현되는 것이다.
데이터 형식 | 바이트 수 |
---|---|
CHAR(개수) | 1~255 |
VARCHAR(개수) | 1~16383 |
CHAR는 고정길이 문자형이라고 부른다. 즉, 자릿수가 고정되어 있음
VARCHAR는 가변길이 문자형으로 VARCHAR(10)에 '가나다' 3글자를 저장할 경우 3자리만 사용함
문자형인 CHAR는 최대 255자까지, VARCHAR는 최대 16383자까지 설정이 가능함
이것보다 더 큰 데이터를 저장하기위해 TEXT형식과 BLOB형식이 있음
데이터 형식 | 바이트수 | |
---|---|---|
TEXT형식 | TEXT | 1~65535 |
LONGTEXT | 1~4294967295 | |
BLOB형식 | BLOB | 1~65535 |
LONGBLOB | 1~4294967295 |
데이터 형식 | 바이트 수 | 설명 |
---|---|---|
FLOAT | 4 | 소수점 아래 7자리까지 표현 |
DOUBLE | 8 | 소수점 아래 15자리까지 표현 |
소수점 아래를 어디까지 정밀하게 표현하는지의 차이인데, 과학 기술용 데이터가 아닌 이상 FLOAT이면 충분함
데이터 형식 | 바이트 수 | 설명 |
---|---|---|
DATE | 3 | 날짜만 저장. YYYY-MM-DD 형식으로 사용 |
TIME | 3 | 시간만 저장. HH:MM:SS 형식으로 사용 |
DATETIME | 8 | 날짜 및 시간을 저장. YYYY-MM-DD HH:MM:SS 형식으로 사용 |
SET @변수이름 = 변수의 값; <- 변수의 선언 및 값 대입
SELECT @변수이름; <- 변수의 값 출력
LIMIT에는 변수를 사용할 수 없기 때문에 오류 발생
prepare과 execute를 사용해서 해결함
CAST ( 값 AS 데이터_형식 [ (길이) ] )
CONVERT ( 값, 데이터_형식 [ (길이) ] )
평균 가격을 그냥 출력해 보면 실행 되는 화면
정수로 표현하기 위해 cast함수 사용
숫자 100과 문자 200을 더하면 뒤의 문자가 숫자 200으로 자동 변환되어 300이 출력됨
내부 조인의 형식
SELECT <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인될 조건>
[WHERE 검색 조건]
GRL이라는 아이디를 가진 사람이 있는 두개의 테이블을 조인했다.
외부 조인의 형식
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
<LEFT : RIGHT : FULL> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
ON <조인될 조건>
[WHERE 검색 조건]
회원 테이블과 구매 테이블의 상호조인 결과이다.
자체 조인의 형식
SELECT <열 목록>
FROM <테이블> 별칭 A
INNER JOIN <테이블> 별칭 B
ON <조인될 조건>
[WHERE 검색 조건]
경리부장의 직속상관 연락처를 알고 싶다면 이런 sql을 사용하면 된다.
IF <조건식> THEN
SQL문장들
END IF
조건식으로 100이 100과 같은지 비교함. 당연히 참일테니 다음행이 실행되어 call로 ifProc1()을 호출함
WHILE <조건식> DO
SQL 문장들
END WHILE;
1부터 100까지의 값을 모두 더하는 기능
i가 100이하인 동안에 계속 반복하여 hap에 누적됨