개발일지/SQL

1주차 - DBeaver 및 기초명령어(Select, Where) 학습

FeelsKim 2022. 9. 14. 22:06

1. DB와 SQL

일을 하다보면 크고작은 데이터들이 쌓이기 마련이다.

(매출내역, 고객정보, 주문내역, 상품정보, 일자별 기상상황, 사고내역 등등..)

위와 같은 정보들은 당연히 시간이 지나면서 지속적으로 누적되는데

이 데이터들을 활용해 참고할만한 지표가 되기도 하고, 새로운 프로젝트를 위한 분석자료로 활용될 수도 있다.

 

그런데 이러한 데이터들이 너무나 방대해져 다루기 힘들어진다는게 문제다.

조그만 중소기업이야 어떻게든 사람 손으로 커버가 가능한다쳐도, 중견/대기업 규모로 넘어가면 이야기가 달라진다.

만약 고객의 신용정보나 자산정보를 다루는 금융기관에서 저렇게 엑셀로 관련 데이터를 다룬다고 생각한다면 

진작에 망하고도 남았을 것이다.

 

대량의 데이터들을 별도의 DB로 관리하는 경우

필요할 때, 필요한 데이터만 가져올 수 있도록 하는 언어가 바로 SQL이라고 한다.

SQL은 Structured Query Language의 약자, 즉 데이터베이스에 원하는 데이터를 요청(Query)하는 언어라는 의미다.

 

2. DBeaver

해당 강의는 다양한 데이터베이스툴을 관리할 수 있는 시스템인 DBeaver를 통해 수업이 진행되었다.

근데 초반에 강의대로 설치가 되지 않아 질문을 남겼는데, 10분도 안되 답변을 받았다!

 

미리 안내된 서버호스트 및 유저정보 등을 입력하고 테스트 커넥션을 하는 과정에서 네트워크 에러가 계속 떴는데,

구글링 해봐도 해당 에러에 대한 내용이 잘 보이지 않아 질문을 남겼고, 

담당 튜터님과 이런저런 이야기를 주고받던 도중 어느순간 정상적으로 플러그인 설치가 되었다..

 

당시 도서관에서 노트북을 사용중이었는데 네트워크 에러인걸보아 인터넷 문제이지 않았나싶다.

 

 

3. Select문, Where절

SQL에서 가장 기본적인 명령어라고 한다.

Select를 통해 테이블(표)에서 원하는 필드(항목)들을 선별적으로 가져 올 수 있도록 하는 기능이다.

하지만 이러한 필드값 안에서도 특정 조건에 해당하는 자료들만 따로 추려서 볼 경우도 있다.

이럴 때 사용하는게 바로 Where절이다.

Select문에 조건을 추가해서 보다 디테일한 데이터들을 선택할 수 있도록 해준다.

 

DBeaver 요청(Query)문 예시

좌층에 일련의 데이터가 담긴 테이블(표) 목록이 보이고, 우측에 실제적으로 요청문을 입력하는 스크립트 영역이 있다.

그렇게 요청된 데이터들은 하단에 출력되어 보여진다.

 

1) Select * from orders

>> orders라는 테이블로부터 전부(*)를 선택하여 요청한다는 의미.

*은 해당 테이블의 모든 필드(항목,열)값을 선택한다. 즉 orders 테이블 전체를 가져오는 셈이다.

만약 특정 필드들을 선택하고 싶다면 그 필드명들을 입력하면 된다.  ex) select user_id from orders

 

2) Where email Like '%naver.com%'

>> email 필드에서 'naver.com'이 들어간 필드값만 선택한다는 의미. (이메일주소가 네이버인 값들만 선택)

select로 선택한 필드에서 특정값만을 추려낼때 where절을 통해 그에맞는 조건으로 필터링이 가능하다.

 

그중에서도 like '%' 는 패턴형식의 조건으로, 선택된 필드값중에서 특정 패턴의 문자가 들어간 값들만 나타낸다.

그 외에 문자들은 %표시로 처리하기 때문에, 찾고자 하는 패턴을 표시할때 %의 위치를 바꿔가며 사용 할 수 있다.

 

  • where email like 'a%' >> email 필드값이 a로 시작하는 모든 데이터
  • where email like '%a' >> email 필드값이 a로 끝나는 모든 데이터
  • where email like '%co%' >> email 필드값에 co를 포함하는 모든 데이터
  • where email like 'a%o' >> email 필드값이 a로 시작하고 o로 끝나는 모든 데이터

 

이외에도 Between을 통한 범위조건이나, 갯수를 출력하는 Count(),  일부값만 가져오는 Limit 등 여러 조건문들이 있으나

Select와 Where의 사용법만 제대로 숙지하면 나머지는 필요할때 찾아보면 될 것 같긴하다.