카테고리 없음

[혼공S] 3주차 _ chapter3 렛쭈꼬

호정🐹 2025. 1. 26. 01:48

요즘 목표 : 하는 일을 잊지 말고 끝까지 해내자 ( •̀ ω •́ )✧

- 하지만 시작 전 비상사태.. 비밀번호 잊어먹어서 다시 지웠다 깔았따... 역시 난 덜렁쟁이..... 껄... skrkrrrrrr

 

테이블을 만들 기 전 데이터 형식을 설정해야 한다.

데이터 형식은 숫자형, 문자형, 날짜형이 있다.

- 이런 형식이 존재하는 이유는 실제로 저장될 데이터의 형태가 다양하기 때문이다. 각 데이터에 맞는 데이터 형식을 지정함으로써 효율적으로 저장 할 수 있다.

 

ex) 내 이름 김호정을 데이터로 만든 후 내부적으로 100글자를 저장하는 것 (비효율), 5글자를 준비하는 것(적절함)

 

1. 데이터 형식

- mysql에서 제공하는 데이터 형식의 종류는 수십 개 정도이고, 각 데이터 형식마다 크기나 표현을 할 수 있는 숫자의 범위가 다름.

 

⁕ 정수형 : 소수점이 없는 숫자, 인원 수, 가격, 수량 등에 많이 사용 됨

TINYINT : 1byte

SMALLINT : 2byte

INT : 4byte

BIGINT : 8byte

 

[ 오류문 ]

Out of range => 입력값의 범위를 벗어났다

 

ex_ 정수형을 사용하는 예제

인원수 열은 int로 지정해서 -21억 ~ +21억까지 저장이 가능함. 하지만 가수 그룹의 인원이 이렇게 많을 필요는 없으니 최대 127명까지 지정 할 수 있는 TINYINT로 지정해도 충분함.

 

평균키 열은 SMALLINT로 지정해서 -32768 ~ 32767까지 저장이 가능함. 키 역시 3000cm가 넘을 리가 없으므로 TINYINT를 고려 할 수 있음. 하지만 TINYINT는 -128 ~ +127로 200cm가 넘는 사람이 있으므로 범위가 부족.

 

=> 이를 해결하기 위해 값의 범위가 0부터 시작하는 UNSIGNED 예약어를 사용 할 수 있음.

TINYINT와 TINYINT UNSIGNED 모두 1바이트 크기이다.

1바이트는 256개를 표현하므로 =128 ~ +127로 표현하거나, 0 ~ 255로 표현하거나 모두 256개를 표현하는 것이다.

 

결국 회원테이블을 바꾼 결과는

멤버 수 INT -> TINYINT

키 SMALLINT -> TINYINT UNSIGNED

 

 문자형

- 문자형은 글자를 저장하기 위해 사용, 입력할 최대 글자의 개수를 지정해야 함.

 

[ 대표적인 문자형 ]

CHAR(개수) - 1~255 바이트

VARCHAR (개수) - 1~16383 바이트

 

CHAR 은 문자를 의미하는 Character의 약자. 자릿수가 고정되어 있음. char(10)에 '가나다' 3글자만 저장해도 10자리를 모두 확보 한 후에 앞의 3자리를 사용하고 뒤의 7자리는 낭비하게 됨.

VARCHAR 은 가변길이 문자형으로 VARCHAR(10)에 '가나다' 3글자를 저장 할 경우 3자리만 사용하게 됨.

 

Varchar가 char보다 공간을 효율적으로 운영하지만 내부적으로 char로 설정하는 것이 좋음.

 

⁕ 실수형

- 소수점이 있는 숫자를 저장 할 때 사용

 

[ 데이터 형식 ]

Float - 4byte - 소주점 아래 7자리까지 표현

Double - 8byte - 소수점 아래 15자리까지 표현

 

float와 double은 거의 비슷. 과학 기술용 데이터가 아닌 이상 float면 충분함

시력은 float로 설정하는 것이 적합함.

 

⁕ 날짜형

- 날짜 및 시간을 저장 할 때 사용

 

[ 데이터 형식 ]

Date - 3byte - 날짜만 저장 - 2007-08-26 형식

Time - 3byte - 시간만 저장 - 01:38:00 형식

DATETIME - 8byte - 날짜 및 시간 저장 - 위 두개 합친 것

 

인터넷 마켓 데이터베이스의 데뷔 일자 : date

구매 테이블 구매한 기록 필요 ; DATETIME

- 날짜 또는 시간을 입력 할 때는 문자와 마찬가지로 작은 따옴표로 묶어줘야 함

 

⁕ 조인

- 두개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것

인터넷 마켓 데이터베이스의 회원 테이블과 구매 테이블이 예임.

 

⁕ 내부 조인

- 두 테이블을 연결 할 때 가장 많이 사용되는 것이 내부조인 ( 그냥 조인이라고 부르는 것이 내부조인 )

 

- 이것들은 일대다 관계로 연결 되어야 함.

 

⁕ 외부조인

- 내부 조인은 두 테이블에 모두 데이터가 있어야만 결과가 나오지만, 외부 조인은 한쪽에만 데이터가 있어도 결과가 나옴

 

⁕ 기타 조인

- 상호조인 : 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인 시키는 기능

- 자체 조이 : 자신이 자신과 조인 한다는 것

 

[ 숙제 ]

정답 : Where B.prod_name IS NULL