Full_Stack developer

MySQL(데이터 조작어 & JOIN) 본문

BE/Database

MySQL(데이터 조작어 & JOIN)

develkbh 2024. 2. 5. 13:45


데이터베이스 구축 단계


SQL

  • Structured Query Language
  • 구조적 쿼리 언어
  • 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어
  • 실행 순서가 없는 비절차적인 언어

SQL  분류

  • 데이터 정의어 (DDL, Data Definition Language)
  • 데이터 조작어 (DML, Data Manipulation Language)
  • 데이터 제어어 (DCL, Data Control Language)

 


데이터 정의어

CREATE 문

  • 데이터베이스와 테이블을 생성하는 명령어
  • 테이블 이름, 열 이름, 데이터 형식 등을 지정
  • 기본키, 외래키 정의

 

 


데이터 타입

  • MySQL에서 제공하는 데이터 타입은 매우 다양
  • 자주 사용하는 형식 위주로 알아보자

 

데이터 타입 – 숫자형

데이터 타입 – 문자형

 

데이터 타입 – 날짜형

 

ALTER 문

  • • 생성된 테이블의 속성과 속성에 대한 제약 및 기본키, 외래키를 변경

 

DROP 문

  • 생성된 테이블 삭제
  • 주의) 테이블 구조와 데이터 모두 삭제

 


데이터 조작어

 

DML

  • DML ( Data Manipulation Language )
  • 데이터베이스의 내부 데이터를 관리하기 위한 언어

CRUD

  • 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 처리 기능

INSERT 문 

  • 테이블에 새로운 투플을 추가

 

 UPDATE 문

  • 테이블에 특정 속성 값 수정

 

DELETE 문

  • 테이블의 기존 투플을 삭제

 

참고) DROP vs. TRUNCATE

SELECT 문

  • 데이터를 검색하는 기본 문장
  • 질의어 (query) 라고도 함
  • SQL 문 중 가장 많이 사용되는 문법
  •  

 

 

SQL 문 내부적 실행 순서

  • 홍지수 고객의 주소를 찾으시오.

 

SELECT 문 구성 요소

 

WHERE 조건 – 비교 연산자

 

WHERE 조건 – 부정연산자

 

WHERE 조건 – 범위, 집합, 패턴, NULL

WHERE 조건 – 복합 조건

와일드 문자 종류

 

ORDER BY

  • ASC: Ascending, 오름차순 (기본값)
  • DESC: Descending, 내림차순

DISTINCT

  • 중복된 데이터 제거

LIMIT

  • 출력 개수 제한

 

GROUP BY

  • group by
    • 속성 이름끼리 그룹으로 묶는 역할
  • having
    • group by 절의 결과를 나타내는 그룹을 제한

 

집계 함수


JOIN

  • 두 테이블을 묶어서 하나의 테이블을 만듦
  • 왜? 두 테이블을 엮어야 원하는 형태가 나오기도 함

JOIN 종류

 

Inner Join

 

Natural Join

  • Inner Join의 일종
  • 두 테이블간 동일한 타입을 가진 동일한 컬럼을 기준으로 자동으로 조인된다.
  • 그래서 조인 조건을 따로 명시해주지 않아도 된다.
  • 하지만, 동일한 타입을 가진 컬럼이 없거나, 여러 개 있을 경우 원하는 결과를 얻지 못 한다.

 

Left Outer Join

 

Right Outer Join


데이터 제어어 (DCL)

  • Data Control Language
  • 데이터베이스에 접근해 읽거나 쓰는 것을 제한할 수 있는 권한 부여/박탈

 

GRANT

  • 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한 부여

 

REVOKE

  • 특정 데이터베이스 사용자에게 특정 작업에 대한 권한 박탈

'BE > Database' 카테고리의 다른 글

협업하는 git 사용  (0) 2024.02.26
데이터베이스 응용  (1) 2024.02.21
Database 란??  (2) 2024.02.05