20230525

아홍·2023년 5월 25일

2023.05

목록 보기
18/19

https://gmlwjd9405.github.io/2018/05/09/mysql-workbench-guide.html
mysql workbench 사용법 보고 익힌 곳


mysql shell

\connect root@localhost:3306
연결

\sql
sql 모드로 바꾸기

show databases;

use [database명];

show tables;

mySQL에서 정규표현식을 사용하려면 위에서 연습한 것처럼 말고
REGEX를 사용해야 한다

SELECT * FROM pet WHERE petName REGEXP '^[cd]';

관계형 데이터베이스Relational database : 사전에 정의된 테이블을 사용하는 데이터베이스
-데이터 : 각 항목에 저장되는 값
-레코드 : 테이블의 한 행에 저장된 데이터

-self referencing 관계 : 테이블 스스로 관계를 갖는다

-1:1 관계 : 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우
e.g. 한 명의 유저가 단 하나의 전화번호를 갖는 User.phone_id : Phonebook.phone_id

-1:N 관계 : 하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우
e.g. 한 명의 유저가 여러 개의 전화번호를 가질 수 있는 User.phone_id : Phonebook.phone_id

-N:N 관계 : 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계이 있는 경우
e.g. 한 명의 고객이 여러 패키지를 구매할 수 있고, 하나의 패키지를 여러 고객이 구매할 수 있는 Customer : Package
이런 경우는 테이블 하나를 생성하여 1:N & 1:N 관계로 만들어주어야한다. 위에서 든 예시의 경우, Customer_package 테이블을 하나 더 만들어 Customer : Customer_package = 1: N, Customer_package : Package = N : 1 관계로 만들어주어야한다.


GROUP BY : 데이터를 그룹으로 묶어서 조회한다.

HAVING : GROUP BY로 조회된 결과를 필터링한다. having은 반드시 group by가 있어야 사용할 수 있다.

COUNT() : 레코드의 개수를 헤아릴 때 사용한다.

SUM() : 레코드의 합을 리턴한다.

AVG() : 레코드의 평균값을 리턴한다.

MAX(), MIN() : 레코드의 최대값, 최소값을 리턴한다.


쿼리문의 실행 순서는 정해져있다.

FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY

0개의 댓글