- CREATE TABLE 직후에는 아무런 행도 없는 상태 -> 데이터 추가하기: INSERT
-외래키 참조 상황에서 Insert
데이터 조회
- SQL에서 가장 중요한 복잡한 문법 중 하나, SELECT!
SELECT의 핵심: 순서
연산 및 집계 함수
LIKE를 이용한 패턴 검색 - WHERE를 이용한 조건 검색의 경우: 문자열이 완전하게 일치해야 함 - 사용 가능한 와일드카드 1. %: 임의의 문자열 2. _: 임의의 문자 (딱 하나)
GROUP BY & HAVING
GROUP BY : 테이블 내 데이터를 그룹으로 묶어 조회하고 싶을 때! 주로 집계 함수와 함께 사용 HAVING : 그루핑된 결과를 통해 필터링을 하고 싶을 때 사용 - 그루핑된 결과는 WHERE로 조건식을 걸 수 없다
- 각각의 유저id별로 합계를 볼 수 있다. - 각각에 맞추어서
서브 쿼리 - 쿼리 속의 쿼리 (쿼리 속의 select)
데이터수정
- 데이터 수정을 위한 UPDATE
- where를 이용해 특정 행을 식별 (조건에 일치하는 모든 행을 대상으로 업데이트) - where가 생략된 경우 모든 행이 갱신 - set에 사용된 =는 대입 연산자
참조 시 UPDATE (on update) on update - cascade : 참조 데이터 업데이트 시 상대방 데이터도 함께 업데이트 - set null : 참조 데이터 업데이트 시 상대방 테이블의 참조 컬럼을 Null로 업데이트 - set default : 참조 데이터 업데이트 시 상대방 테이블의 참조 컬럼을 Default 값으로 업데이트 - restrict : 참조하고 있을 경우, 업데이트 불가 - no Action : Restrict와 동일, 옵션을 지정하지 않았을 경우 자동으로 선택됨
데이터 삭제
데이터 삭제를 위한 DELETE
조건에 맞는 데이터 삭제
테이블의 모든 데이터 삭제
참조 시 DELETE (on delete) on delete cascade : 참조 데이터 업데이트 시 상대방 데이터도 함께 삭제 set null : 참조 데이터 업데이트 시 상대방 테이블의 참조 컬럼을 Null로 업데이트 set default : 참조 데이터 업데이트 시 상대방 테이블의 참조 컬럼을 Default 값으로 업데이트 restrict : 참조하고 있을 경우, 삭제 불가 no Action : Restrict와 동일, 옵션을 지정하지 않았을 경우 자동으로 선택됨