빅 쿼리 명령어 이해하고 직접 작성해 보기 3편
오늘 역시 이전 시간에 이어서
빅 쿼리 명령어에 관련하여
알아보는 시간을 가져볼 테니,
데이터 분석이 활발하게
활용해 보시기 바랍니다. : )
DELETE FROM
데이터베이스 테이블에서 레코드를
지울 수 있는 명령어가 바로 지금
소개할 DELETE FROM입니다.
*앞서 1, 2편에서 소개 드렸던 명령어들
중에서도 꽤나 자주 사용하시게 될
명령어이니 꼭 기억해 주시기 바랍니다.
이해를 돕기위해 예시를 들어볼게요.
우리가 과일 가게를 운영하고 있고
다양한 과일들을 데이터베이스 테이블에
저장해두었다고 가정해보겠습니다.
시간이 지남에 따라 과일이 상하기도 하고
제철이 지나면서 판매기간이 지나 더 이상
취급할 수 없게 되었다면, DELETE FROM
명령문을 통해 해당 과일을 테이블에서
삭제할 수 있다고 생각해주시면 됩니다.
*전산정리? 같다고 생각해주시면 됩니다.
만약 사과를 삭제해야 한다면,
사과가 속해있는 데이터베이스 테이블인
fruits를 선택해주신 후 Apple이라는
이름을 가진 정보를 선택해 명령을
내려주시면 삭제가 가능한 것이죠.
어디서 많이 본 구조이다 싶은데
1편에서 배웠던 SELECT와 비슷하죠?
● 작성 구조 알아보기
▶ table_name
레코드를 삭제할 테이블의 이름을 지정.
*레코드 : 데이터베이스 테이블 하나의 '행'
▶ WHERE condition
삭제할 레코드를 선택하는 조건을 지정,
단 생략이 가능하고 생략할 경우에는
테이블의 모든 레코드가 삭제됩니다.
조건을 추가해 주시게 되면
여러 레코드를 한 번에 삭제한다거나
특정 날짜 이전에 판매된 과일을 삭제하거나
가격을 기준으로 저렴한 과일을 삭제하는 등의
추가적인 방향으로의 응용도 가능하기 때문에
데이터를 정리할 때 활용하면 좋습니다.
단, 레코드를 삭제한다는 것은
수정의 의미가 아닌 정말 삭제이기 때문에
데이터가 영구적으로 없어지는 부분이니
레코드를 삭제할 때에는 신중하게
진행해야 하고 잘못된 레코드를
삭제하지 않도록 주의해야 합니다.
● DELETE FROM 상황에 따른 구조
1. 불필요한 데이터 제거
예시를 보시면 logs 테이블에서
timestamp 열 값이 2022-01-01보다
이전인 로그 데이터를 삭제하라고
명령하고 있는 것을 알 수 있는데요,
이런 구조의 명령문은 기간별로
나눠서 살펴볼 수 있는 상황일 때
활용하시면 더 좋습니다.
예) 2022.01.01 이전 데이터 삭제.
2. 오류 데이터 처리
예시를 보시면 orders라는 테이블에서
status 열 값이 Cancelled인
주문 데이터를 삭제하라고
명령하고 있다는 것을 알 수 있는데요,
이런 구조의 명령문은 특정 상황에
해당하는 데이터를 삭제해야 할 때
활용하기 좋으니 참고하세요.
예) 주문 테이블의 상태가 취소인 데이터 삭제.
3. 데이터 갱신
products라는 테이블에서 category 열 값이
OldCategory인 데이터를 삭제한 후,
products 테이블에 product_id, name,
category 값을 가지는 새로운 제품 데이터를
삽입하라는 명령어라는 것을 알 수 있는데,
이런 구조로 명령을 내려주시게 되면
특정 데이터를 삭제한 후 해당 위치에
새로운 데이터를 자리 잡게 하는,
데이터 트레이드가 가능하게 됩니다.
*만약 이런 구조의 명령어를 내려야 하는
상황이라면 예문의 구조를 참고하세요.
예) 주문 테이블의 사과를 전부 귤로 바꿔야 할 때.
4. 데이터 정리 및 유지 관리
예시에 작성되어 있는 명령문은
customers 테이블에서 last_activity 열 값이
1년 이전인 고객 데이터를 삭제하라고
명령을 내리고 있는데요, 쉽게 말해서
1년 동안 활동이 없던 고객 데이터를
삭제하라고 요청하고 있는 겁니다.
즉, 유효하지 않거나 또는 사용되지 않는
고객 데이터를 정리할 수 있는 명령어죠.
우리는 이런 구조의 명령어를 통해서
데이터 정리 및 유지 관리까지도
가능하기 때문에 데이터베이스를
최신 상태로 유지하는 것이나
관리 등의 면에서도 최상의
컨디션을 유지할 수 있습니다.
명령문 직접 작성하는 방법
제시요가 3편에 걸쳐서 안내드린 명령문들은
데이터베이스 관리 시스템(DBMS) 내에서
사용되는 SQL 쿼리 언어를 사용해서
작성한다고 말씀드렸는데요, 그렇다면
이 명령문들은 어디에 작성해야 할까요?
● 명령문을 작성할 수 있는 방법
▶ 빅 쿼리 콘솔로 이동하는 것.
[구글 클라우드 콘솔] ▶ [빅 쿼리]
▶ [콘솔로 이동] ▶ [SQL 작업 공간]
▶ [새 쿼리 작성]으로 이동해 주신 후
원하는 방향에 맞게 작성해 주시면 됩니다.
앞에서 빅 쿼리 명령어의 구조를 계속해서
안내드렸었는데, 구조에 맞게 작성을
해주셔야만 제대로 명령을 내릴 수 있으니
이 점 기억하고 작성해 주시기 바랍니다.
▶ 클라이언트 도구 / 개발 환경 활용하기.
빅 쿼리는 여러 클라이언트 도구나
개발 환경에서 지원되고, 이를 통해
SQL 쿼리를 작성하고 실행하는 것이
가능합니다. 보통 클라이언트 도구나
개발 환경은 데이터베이스 연결 설정이
필요하고, 해당 도구의 문서나 지침을
따라 설정을 완료한 후 SQL 명령문을
작성하고 실행할 수 있습니다.
간단히 예를 들면
Google Cloud SDK의 빅 쿼리 명령어를
사용한다거나 혹은 Python에서
'google - cloud - bigquery' 패키지를
사용할 수 있으니 참고하셔서
편한 방법으로 사용하면 될 것 같네요.
빅 쿼리 명령어들 중에서도 여러분들이
자주 사용하시게 될 명령어들을 골라
소개 드리는 시간을 가져보았습니다.
1 ~ 3편에 안내되어 있는 명령어들은
기본적으로 이해하고 계시는 것이 좋고,
틈틈이 구조도 익혀두시는 것이 좋습니다.
IT 아웃소싱 중개 플랫폼 제시요는
▶ 프로젝트 별 개발사 맞춤 매칭
▶ 명확한 기획서 작성을 위한 컨설팅
▶ 오류를 최소화하는 개발 모니터링
프로젝트 완성도 향상을 위해
다양한 서비스를 기존의 아웃소싱
프로세스에 더해 제공 드리고 있습니다.
현재 IT 프로젝트 진행을 위해
개발사를 찾고 계신다면 제시요의
서비스를 경험해 보시는 건 어떨까요?