[MySQL] 문법

kkiyou·2021년 6월 14일
0

MySQL

목록 보기
1/1

확인


1. 참고자료



2. 특징

  • 명령어는 대문자로 사용하고
  • 하나의 명령어 집합 끝에는 ;(Semicolon)을 붙인다.


3. 기본 문법

3.1. USE

명령어를 실행할 대상이 되는 Database를 지정한다.


3.2. SELECT

Data Table에서 필요한 columns list를 선택한다.


3.3. FROM

Data Table을 지정한다.

  • USE를 사용하지 않았으면 FROM <Database Name>.<table_name>

  • USE를 사용했으면 FROM <table_name>를 사용한다.


3.4. AS

가져온 columns list의 이름을 AS 이하로 변경한다. AS를 생략해도 이름을 변경할 수 있다.


3.5. DISTINCT

columns list의 데이터 집합 내에서 중복된 값을 제거하고 가져온다.


3.6. WHERE

선택한 data table에 적용할 조건식을 지정한다. 지정한 조건식에 해당하는 값 중 columns list에 따라 선택된 값을 반환한다.

WHERE
    <select_list> <search_condition>,
    <select_list> BETWEEN <begin_expr> AND <end_expr>,
    (expr|column_1) IN ('value1','value2',...),
    value IS NULL,
    expression LIKE pattern ESCAPE escape_character

3.6.1. BETWEEN

<select_list> BETWEEN <begin_expr> AND <end_expr>
<select_list> NOT BETWEEN <begin_expr> AND <end_expr>

beginαendbegin \leq \alpha \leq end, 이 때 begin과 end를 포함하는 것에 주의하자. 또한 조건식을 적용할 대상을 반드시 지정해야 한다.
<select_list> BETWEEN <A> AND <B>BETWEEN <A> <= <select_list> AND <select_list> <= <B>와 같다.


3.6.2. 대소 비교

관계 연산자(=<,,>,= <, \leq, >, \geq, <>(같지않다)<>_{(같지 않다)})를 사용한다.


3.6.3. IN

(expr|column_1) IN ('value1','value2',...)
(expr|column_1) NOT IN ('value1','value2',...)

column list에서 value에 해당하는 값을 or 연산을 하여 반환한다. 즉 value에 해당하는 모든 값을 가져온다.

NOT IN을 사용하면, value에 해당하지 않는 모든 값을 가져온다.


3.6.4. IS NULL

value IS NULL
value IS NOT NULL

Null이 아닌 값을 반환한다.

데이터를 수집하다 보면 자연스럽게 결측치(수집하지 못한 값)이 생기기 마련이다. 이러한 결측치를 MySQL에서는 Null로 표현하는데, 이는0과 다르다. Null은 값이 존재하지 않는 것을 의미하고, 0은 0개를 의미한다.


3.6.5. like

expression LIKE pattern ESCAPE escape_character

expression에서 pattern과 일치하는 값을 반환한다. 단 대소문자를 구분하지 않는다.

  • ~ LIKE "aa": aa인 값을 반환한다.
  • ~ LIKE "%aa": wildcard %(Percent)는 불특정 문자 여러개를 의미한다. 따라서 %aa는 aa로 끝나는 값을 반환한다.
  • ~ LIKE "aa%": aa로 시작하는 값을 반환한다.
  • ~ LIKE "%aa%": aa가 포함된 값을 반환한다.
  • ~ LIKE "__aa": wildcard _(Underscore)는 불특정 문자 1개를 의미한다. 따라서 __aa는 총 4글자로 된 값 중 aa로 끝나는 값을 반환한다. (aaaa, xzaa ...)

`BINARY LIKE`를 사용하면 대소문자를 구분한다.

3.7. GROUP BY

GROUP BY c1 , c2,...,cn

columns 값을 GROUPING해서 각 값들의 평균, 개수 등을 구한다. 따라서 SELECT영역에 집계함수를 일반 column list혼합하여 사용할 때는 GROUP BY를 사용해야 한다.


3.8. *

*(Asterisk)는 ALL을 의미한다. SELECT *을 하면 Data Table의 모든 값을 가져온다.



USE
    <Database Name>;

SELECT 
    <select_list_1> AS <new column name>, 
    DISTINCT <select_list_2>,
    <select_list_3>...
FROM
    <table_name>
WHERE
    <select_list> <search_condition>,
    (expr|column_1) IN ('value1','value2',...);


4. 집계 함수(Aggregate Functions)

  • COUNT: 지정된 데이터 집합의 내 데이터의 개수를 센다.
  • AVG: Average, 지정된 데이터 집합의 평균을 반환한다.
  • SUM: 지정된 데이터 집합의 합계을 반환한다.
  • MAX: 지정된 데이터 집합의 중 최댓값을 반환한다.
  • MIN: 지정된 데이터 집합의 중 최솟값을 반환한다.

Aggregate Functions

0개의 댓글