일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- KDT
- openapi
- 엘리스 AI 트랙
- 리액트
- 백준 알고리즘
- sql
- git remove
- merge request
- 알고리즘
- 파이썬
- 엘리스AI트랙
- 엘리스
- Git
- linux
- GitLab
- 자료구조
- 리눅스
- PYTHON
- K-Digital training
- 영어 단어 모음 분석하기
- insert
- flask연동
- join
- Effect Hook
- State Hook
- 트럼프 대통령 트윗 분석하기
- delete
- update
- pandas
- mongodb
- Today
- Total
GO WILD, SPEAK LOUD, THINK HARD
엘리스 AI 트랙 03주차 - SQL로 데이터 다루기 I (1/6) 🔥 본문
✔ 03주차. 데이터베이스 기초 개요
<수강 목표>
-
데이터 모델링에 대해 이해하고 DB 정규화, 반정규화를 통해 성능을 향상합니다.
-
표준 SQL의 DML문법을 익히고 실제 관계형 DB에서 생성, 조회, 수정, 삭제를 할 수 있습니다.
-
표준 SQL의 DCL, DDL 문법을 익히고 실제 운영가능한 DB를 생성 및 관리할 수 있습니다.
[2장 데이터를 제어하는 DML]
- SQL 명령어 종류
① DML : data mainpularion language. 데이터 조작어
② DDL : 데이터 정리어
③ DCL : 데이터 제어어
④ TCL : 트렌젝션 제어어
1. 데이터에서 유사한 값 찾기
- LIKE : 특정 문자가 포함된 문자열을 찾고 싶을 때 사용하는 명령
- % : Wildcard. 문자를 모두 알지 못해도 시작하거나, 끝나거나 포함되는 문자열을 유추해서 검색할 수 있음
- LIKE 조건의 기본문법
-- book 테이블에서 제목(title)이 '어린왕자'인 책 검색
SELECT *
FROM book
WHERE title LIKE '어린왕자';
- LIKE 조건의 다양한 형태
-- book 테이블에서 제목(title)이 '왕자'로 끝나는 책 검색
SELECT *
FROM book
WHERE title LIKE '%왕자';
-- book 테이블에서 제목(title)이 '어린'으로 시작하는 책 검색
SELECT *
FROM book
WHERE title LIKE '어린%';
-- book 테이블에서 제목(title)에 '린왕'이 포함되는 책 검색
SELECT *
FROM book
WHERE title LIKE '%린왕%';
2. 데이터 정렬하기
- ORDER BY : 데이터를 검색할 때 정렬하여 결과를 출력하는 명령어
- DESC : 내림차순 정렬시 사용
- ASC : 오름차순 정렬시 사용
- ORDER BY 문의 기본 문법
-- score 테이블에서 수학(math) 값이 높은 데이터부터 정렬하여 검색
SELECT *
FROM score
ORDER BY math DESC;
-- score 테이블에서 수학(math) 값이 낮은 데이터부터 정렬하여 검색
SELECT *
FROM score
ORDER BY math ASC;
3. 테이블에 데이터 삽입하기
- INSERT : 관계형 데이터베이스의 테이블에 값을 저장하는 명령
- INSERT 문의 기본 문법
-- '햄릿' 책 데이터를 book 테이블에 추가
INSERT INTO book (id, title, author, publisher)
VALUES ('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판');
-- 컬럼을 명시하지 않으면 순서대로 값을 삽입
INSERT INTO book
VALUES ('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판');
-- 여러개의 책 데이터를 book 테이블에 추가
INSERT INTO product
VALUES ('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판'),
('4', '해리포터와 마법사의 돌', 'J. K. 롤링', '엘리스 출판'),
('5', '노인과 바다', '어니스트 헤밍웨이', '엘리스 출판');
4. 테이블에 데이터 수정하기
- UPDATE: 관계형 데이터베이스의 테이블에서 이미 저장된 값을 수정하는 명령
- UPDATE 문의 기본 문법
-- 책 제목(title)이 '돈키호테'인 데이터의 제목(title)을 '돈키호테 1'로 변경
UPDATE book
SET title = '돈키호테 1'
WHERE title = '돈키호테';
-- 여러 책의 이름을 한꺼번에 변경
UPDATE book
SET title = CASE id WHEN 1 THEN '어린왕자' ELSE title END,
title = CASE id WHEN 2 THEN '돈키호테' ELSE title END
WHERE id IN (1, 2);
5. 테이블에 데이터 삭제하기
- DELETE : 관계형 데이터베이스의 테이블에서 이미 저장된 값을 수정하는 명령
- DELTE 문의 기본 문법
-- 제목이 '돈키호테 1'인 책 데이터를 book 테이블에서 삭제
DELETE
FROM book
WHERE title = '돈키호테 1';
-- WHERE 조건이 없을 시 모든 데이터 삭제
DELETE
FROM book
-- 여러개의 책 데이터를 삭제
DELETE
FROM book
WHERE id IN (1, 2, 3)
[3장 SQL과 함수]
- 함수
① 데이터 값을 계산하거나 조작 : 행 함수
② 행의 그룹을 계산하거나 요약 : 그룹 함수
③ 열의 데이터 타입을 변환
1. COUNT
- COUNT : 검색한 결과의 데이터의 개수를 가져오는 내장함수. NULL 인 데이터는 제외.
- COUNT 기본 문법
-- book 테이블 안에 있는 id 컬럼의 개수를 검색
SELECT COUNT(id) FROM book;
-- 검색할 데이터 *을 입력하면 모든 데이터 검색
SELECT COUNT(*) FROM book;
2. LIMIT
- LIMIT: 테이블에서 출력하고자 하는 데이터의 개수를 제한하는 명령. 첫번째 컬럼의 시작은 0.
- LIMIT기본 문법
-- book 테이블에서 데이터를 3개만 가져오기
SELECT * FROM book LIMIT 3;
-- 7번째 데이터부터 2개만 가져오기
SELECT * FROM book LIMIT 6, 2;
3. SUM & AVG
- SUM : 지정한 컬럼들의 값을 모두 더해 총점을 구해주는 내장함수
- SUM 기본 문법
-- grade 테이블에서 모든 수학점수를 더한 총점을 구하기
SELECT SUM(math) FROM grade;
- AVG: 지정한 컬럼들의 평균값을 구해주는 내장함수
- AVG 기본 문법
-- grade 테이블에서 과목별 평균 점수 찾기
SELECT AVG(korean), AVG(math), AVG(english) FROM grade;
4. MAX & MIN
- MAX : 테이블에 존재하는 데이터에서 최대값을 가져오는 내장함수. 문자형도 가능.
- MAX 기본 문법
-- grade 테이블에서 가장 높은 국어점수 찾기
SELECT MAX(korean) FROM grade;
- MIN : 테이블에 존재하는 데이터에서 최솟값을 가져오는 내장함수. 문자형도 가능.
- MIN 기본 문법
-- grade 테이블에서 가장 낮은 영어점수 찾기
SELECT MIN(english) FROM grade;
※ 수업 자료의 출처는 K-Digital Training x 엘리스 인공지능 서비스 개발 기획 1기 (elice.io/)입니다.
'개발 > 엘리스 AI 트랙' 카테고리의 다른 글
엘리스 AI 트랙 03주차 - SQL로 데이터 다루기 II (1/8) 🔥 (0) | 2021.01.10 |
---|---|
엘리스 AI 트랙 03주차 - 데이터베이스 기초 개요 (1/7) (0) | 2021.01.08 |
엘리스 AI 트랙 03주차 - 데이터베이스 기초 개요 (1/5) 🔥 (0) | 2021.01.05 |
엘리스 AI 트랙 02주차 - 업무에 바로 적용하는 Gitlab 실전편 (1/2) 🔥 (0) | 2021.01.05 |
엘리스 AI 트랙 02주차 - Git을 사용한 버전 관리 (1/1) 🔥 (0) | 2021.01.04 |