AWS - MySQL

정지훈·2020년 11월 26일
0

데이터 베이스 모델링

데이터 베이스 모델링은 데이터 베이스에서의 테이블 구조를 미리 계획해서 작성하는 작업이다.

모델링은 3가지로 나뉘는데 첫 번째는 개념적 모델링 두 번째는 논리적 모델링 세 번째는 물리적 모델링으로 나뉜다.

개념적 모델링이란 업무분석해서 핵심 데이터의 집합을 정의하는 과정이라고 한다.
논리적 모델링은 개념적 모델링을 상세화 하는 과정이라고 한다.

이는 사람 - 상품을 크게 모델링을해서 논리적으로 사람의 고객 정보(나이,주소,성별) 구매정보(고객,상품), 상품(상품명 카테고리, 가격) 이렇게 논리적으로 상세화 하는 과정이라고 한다.

이를 가지고 물리적 모델링을 한다.
물리적 모델링은 논리적 모델링을 DBMS에 추가하기 위해 구체화 되는 과정이라고 한다.

SQL문의 종류

SQL문의 종류는 3가지로 나뉜다. DML,DDL, DCL

DML

Data Manipulation Language 데이터 조작어이고 데이터 검색, 삽입,수정,삭제등에 사용이 된다.
SELECT, INSERT, UPDATE, DELETE 트랜젝션이 발생하는 SQL문이다.

트랜젝션은 데이터를 쓰는 행위가 있다. 쓰는 것 부터 처리를 마칠때까지 하나로 묶어가지고 자원을 한번에 쓸수 없도록 순차적으로 하는 행위이다.(사실 잘 모르겠다..일단 자바스크립트로 따지자면 동기식으로 순차적으로 실행 하는 거 같다)

DDL

Data Definition Language e데이터 정의어이다. 데이터 베이스, 테이블, 뷰, 인덱스등의 데이터 베이스 개체를 생성, 삭제, 변경에 사용한다.
CREATE, DROP, ALTER, TRUCATE -> 실행 즉시 DB에 적용이 된다.

DCL

Data Control Language 데이터 제어어 사용자의 권한을 부여하거나 빼앗을때 사용
GRUNT, REVORKE, DENY

SELECT FROM

데이터를 검색할 때 사용되는 문법

기본 포멧

SELECT <column_name_1>, <column_name_2> ,...
FROM <table_name>

전체 컬럼 데이터 조회

SELECT *
FROM world.country

code, name 세개의 컬럼 데이터 조회

SELECT code, name
FROM world.country

데이터 베이스 선택: FROM 절에 world.을 사용할 필요가 없다.

USE world;

SELECT *
FROM country;

alias: 컬럼의 이름을 변경할 수 있다.

 SELECT code as country_code, name as country_name
 FROM country;

데이터 베이스, 테이블, 컬럼 리스트 확인

SHOW DATABASES;
SHOW TABLES;
DESC city;

WHERE

특정 조건을 주어 데이터를 검색하는데 사용되는 문법

비교연산

인구가 1억이 넘는 국가를 출력

SELECT *
FROM country
WHERE Population >= 100000000;

논리 연산: AND, OR

인구가 7000만에서 1억인 국가를 출력

SELECT *
FROM country
WHERE Population >= 70000000 AND Population <= 100000000

범위 연산: BETWEEN

인구가 7000만에서 1억인 국가를 출력

 SELECT *
 FROM country
 WHERE Population BETWEEN 70000000 AND 100000000

아시아와 아프리카 대륙의 국가 데이터를 출력

SELECT *
FROM country
WHERE Continent = 'Asia' OR Continent = "Africa"

특정 조건을 포함(IN, NOT, IN)

아시아와 아프리카 대륙의 국가 데이터를 출력

SELECT *
FROM country
WHERE Continent IN ("Asia","Africa")

아시아와 아프리카 대륙의 국가가 아닌 데이터를 출력

SELECT *
FROM country
WHERE Continent != 'Asia' AND Continent != 'Africa'

특정 문자열이 포함된 데이터 출력: LIKE

정부형태에 Republic이 포함된 데이터 출력

SELECT*
FROM country
WHERE GovernmentForm LIKE "%Republic%"

ORDER BY

특정 컬럼의 값으로 데이터 정렬에 사용되는 문법

오름차순 인구 순으로 국가의 리스트를 출력

ASC는 생략이 가능

SELECT *
FROM country
ORDER BY population ASC

내림차순 인구순으로 국가의 리스트를 출력

SELECT *
FROM city
ORDER BY CountryCode ASC, Population DESC

LIMIT

LIMIT은 조회하는 데이터의 수를 제한할 수 있습니다.

인구가 많은 상위 5개의 국가 데이터를 출력

SELECT *
FROM country
ORDER BY population DESC
LIMIT 5

인구가 많은 상위 6위 ~ 8위의 3개 국가 데이터를 출력

SELECT *
FROM country
ORDER BY population DESC
LIMIT 5, 3

0개의 댓글