SQL 고급 다지기(Insert, Update, Delete, Join)
1. INSERT, UPDATE, DELETE 설명
select 이외의 DML 명령어를 배워보자.
* MySQL에서 지원하는 column 타입
- Numeric Type
- Integer, int, smallint, tinyint, mediumint, bigint
- decimal(돈), numeric
- float, double(정밀도가 높다), bit - Date and Time Type
- Date, datetime, timestamp time, year - String Type
- char, varchar, binary, varbinary, blob, text, eunm, set - JSON Type
- 다양한 JSON 조작함수를 제공함 - Spatial Type
- 위도와 경도를 중심으로 위치 관련 타입
- 굉장히 유용한 타입이다. (배달의 민족)
* DELETE
- 조건을 기반으로 테이블에서 레코드 삭제 혹은 모든 레코드 삭제
DELETE FROM vs. TRUNCATE
- 차이점을 이해하는 것이 중요
- DELETE FROM 은 융통성이 있지만(옵션 가능) 느리다.
- TRUNCATE은 조건없이 모든 레코드 삭제.
- 속도가 빠른 대신 트랜잭션 사용시 롤백 불가
2. INSERT, UPDATE, DELETE 실습
3. 다양한 JOIN 살펴보기
star 스키마 형태로 데이터 모델을 하는 경우, 데이터가 여러 테이블로 퍼지게 된다.
완전한 정보를 알기 위해서는 흩어진 여러 테이블을 한 군데로 모아야 한다.
- JOIN은 두 개 이상의 테이블들을 공통 필드를 가지고 통합
- 스타 스키마로 구성된 테이블들로 분산되어 있던 정보를 통합하는데 사용
- 어떤 레코드들이 선택되는가?
- 어떤 필드들이 채워지는가?
* JOIN의 종류
- INNER JOIN : 공통된 부분만 출력(default)
- LEFT/RIGHT JOIN
- CROSS JOIN : 모든 콤비네이션에 대하여 merge
- SELF JOIN
- FULL JOIN : MySQL은 지원하지 않음(합집합)
* JOIN시 고려해야 할 점
- 중복 레코드가 없어야 함
- Primary Key의 uniqueness가 보장됨을 체크
- 조인하는 테이블간의 관계를 명확하게 정의해야 함
- One to one
- One to Many
- Many to one
- Many to many - 어느 테이블에서 베이스로 잡을지 결정
4. JOIN 실습
ㅣ 커리어 이야기
배움에서 정체기가 왔을 때 남하고 비교하지 않는 것이 중요하다.
- 인생은 장기전
- 하나를 하기로 했으면 적어도 6개월은 파고 들기
- 어디에서든지 빨리 시작해보는 게 중요하다.
- 커리어를 점진적인 발전이라는 관점에서 보자.
- 계속해서 변화하고 성장하는 것이 중요하다.
새로운 시작을 했을때...
- 처음 90일이 중요하다.
- 자기 검열하지 말고 매니저의 스타일을 파악하고 피드백을 요청한다. '
- 열심히 일하되 너무 서두르지 않기
'2023 활동 - 4학년 > [1월 ~ 4월] sw 아카데미 백엔드 과정' 카테고리의 다른 글
[2023.02.14 / CNU SW 아카데미] 30일차 회고록 (0) | 2023.02.14 |
---|---|
[2023.02.14 / CNU SW 아카데미] 객체지향 프로그래밍2 (0) | 2023.02.14 |
[2023.02.13 / CNU SW 아카데미] OS 특강 4 (0) | 2023.02.13 |
[2023.02.09 / CNU SW 아카데미] 27일차 회고록 (0) | 2023.02.13 |
[2023.02.08 / CNU SW 아카데미] 26일차 회고록 (0) | 2023.02.12 |