서브 쿼리
하나의 쿼리 구문 내에서 또 다른 쿼리를 사용하는 구문을 말한다.
괄로호 묶어야 한다.
SELECT 절에서의 서브 쿼리
출력되는 서브 쿼리는 하나의 컬럼을 출력해야 한다.
alias가 필수는 아니지만 쓰지 않을 경우 출력결과의 속성이 너무 길어진다.
바깥 쿼리의 컬럼마다 서브쿼리가 실행되어 성능면으로 좋지 않으므로 추천하지 않는다.
FROM 절에서의 서브 쿼리
반드시 alias를 지정해줘야 한다.
WHERE 절에서의 서브 쿼리
연산자에 따라 서브 쿼리 출력결과를 주의 (IN 연산자 뒤에는 여러 결과가 올 수 있다.)
서브 쿼리 연습
데이터 입력(VIEW, INSERT INTO SELECT)
뷰(VIEW)
-
- 뷰 사용 주의점
- 데이터가 아니라 실시간으로 데이터를 모아서 보여주는 것이다.
뷰는 실제 테이블이 아니다.
기본적으로 SELECT 전용으로 사용이 권장된다. (데이터를 조작가능하지만…)
INSERT INTO SELECT
SELECT 결과로 생성
Transaction
InnoDB 엔진이 지원한다.
일련의 절차를 가지는 작업의 단위
커밋(COMMIT), 롤백(ROLLBACK)
세이브포인트(SAVEPOINT)
-
트랜젝션이 필요한 경우
-
트랜젝션이 필요한 경우
환경변수는 세션별로 각각 설정된다
트랜젝션을 커밋하기 전까지는 다른 유저에게는 바뀐내용이 보이지 않는다.
데이터 편집(UPDATE)
참조의 무결성으로 UPDATE시에 부모테이블과 자식테이들 둘다 제약을 받는다. (INSERT는 자식만 DELETE는 부모만)
MySQL에는 수정과 삭제 시 데이터 안전을 위해 락이 걸려있다.
JOIN을 통한 편집
JOIN을 통한 삭제
데이터베이스 모델링
업무분석 - 개념설계 - 논리설계 - 물리설계
물리설계 해보기
MySQL Workbench에서 작업
LOAD DATA INFILE
외부의 CSV 파일을 읽어 들여 테이블에 데이터를 저장한다.
보통 옵션으로 잠겨있기에 해제하고 시도해야 한다.
백업과 복원
Reference
- 이 포스트는 SeSAC 인공지능 SW 개발자 양성 과정 - 김기희 강사님의 강의내용을 정리한 것입니다.
댓글남기기