데이터리안 week 2

sujinzzang수진짱·2022년 7월 11일
0

sql basic

목록 보기
3/8

책 <데이터베이스 첫걸음> 참고

데이터베이스란?

데이터를 관리하는 프로그램 + 그 안에 저장된 데이터
데이터를 관리하는 프로그램: DBMS

데이터베이스의 기본 기능 1-1. 데이터의 검색(SELECT)

검색 = 추출 = 질의

  • 이씨 성을 가진 사람들의 데이터 가져오기
SELECT *
FROM 주소록
WHERE 이름 LIKE '이%'

데이터베이스에 저장되어있는 원본 데이터 자체를 변형하는 것은 아니다.

데이터베이스의 기본 기능 1-2. 데이터의 갱신

기존 데이터 수정, 불필요해진 데이터 제거
특정 데이터를 수정하는 코드

UPDATE 주소록 SET 주소 = '경기도 성남시 OOO' WHERE 이름 = '이보민'

특정 데이터를 지우는 코드

DELETE FROM 주소록 WHERE 이름 = '이보민'

새로운 데이터를 추가하는 코드

INSERT INTO 주소록 VALUES('정연', '010-xxxx-xxxx', '서울시 광진구 OOO', NULL

갱신: 등록, 수정, 제거

  • 새로운 데이터 등록 (INSERT)
  • 기존 데이터 수정 (UPDATE)
  • 기존 데이터 삭제 (DELETE)

입문반에서는 질의(SELECT) 배울 예정. 데이터 분석은 기존에 있는 데이터를 변형하는 것이 아니라, 있는 데이터에서 정보를 뽑아내는 것.

데이터베이스의 기본 기능 2. 동시성 제어

두 명이 동시에 데이터베이스에 접속해 갱신할 때 경우의 수 (A가 입력중일 때 B가 접근했을 때)
1. B는 파일을 열 수 없음
2. B는 파일을 볼 수만 있음
3. B도 파일을 수정할 수 있음
주로, 1과 2의 방법을 많이 사용함.

데이터베이스의 기본 기능 3. 장애 대응

데이터베이스는 데이터를 한 곳이 아니라 복수의 장소에 분산해서 저장하는 등 데이터를 보호하고, 장애에 대응할 수 있어야 한다.

데이터베이스의 기본 기능 4. 보안

데이터베이스는 해킹 등 외부의 자극에도 뚫리지 않아야 한다.

마무리

'검색과 갱신', '동시성 제어', '장애 대응', '보안'
우리는 어떻게 데이터를 검색할 것인가에 집중하면 된다.

데이터베이스의 종류

1. 관계형 데이터베이스 (RDB, RDBMS)

2차원 표 형식으로 관리하는 데이터베이스. 가장 주류

2. NoSQL 데이터베이스

Not Only SQL : 대량의 데이터를 고속으로 처리해야하는 웹서비스에서 최근 자주 사용

3. 계층형 데이터베이스

SQL이란?

SQL은 관계형 데이터베이스를 조작하기 위한 언어.

집계 함수

데이터의 갯수 세기 COUNT()

주의) 데이터에 null이 있을 때
null이 포함된 컬럼을 count할 경우, null값을 제외하고 세어준다.
전체 데이터를 count할 경우(COUNT(*))는 전부 센다.

더하기 SUM()

주의) 데이터에 null이 있을 때
count랑 똑같이 null값을 제외하고 연산

평균 구하기 AVG()

AVG() null값을 제외한 값들이 분모에 들어간다.
null값을 포함한 평균을 구해야할 때는

SELECT (total_bill) / COUNT(*)
FROM tips

최솟값, 최댓값 MIN(), MAX()

그룹별로 요약하기

그룹별로 요약하기 GROUP BY

GROUP BY에 넣은 기준은 SELECT에도 넣어야 한다.

SELECT **day** , SUM(total_bill)
FROM tips
GROUP BY **day**

요약 정보 필터링하기 HAVING

  • HAVING GROUP BY 후 연산 결과를 필터링
  • WHERE GROUPY BY 하기 전 필터링

요약 정보를 정렬하기 ORDER BY

  • 맨 뒤에 작성 (LIMIT 빼고)
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
LIMIT

0개의 댓글