[WAFFLE] 02-1 SQL

1 minute read

Published:

In this post, concepts about database and SQL are introduced.

Database

  • 데이터를 저장하고 관리하는 시스템
  • 데이터베이스 관리시스템(DBMS)을 통해 데이터를 관리
  • 여기서는 RDBMS만 다룸

RDBMS

  • Relational Database Management System
  • 데이터를 테이블에 저장
  • 데이터 간의 관계는 테이블 간의 관계로 표현
  • SQL을 사용하여 데이터를 조작, 다시 말해 SQL은 RDBMS를 조작하기 위한 프로그램

SQL

  • Structured Query Language
  • RDBMS와 상호작용하기 위한 언어
  • db 생성, 테이블 생성, 데이터 삽입, 수정, 삭제 등 수행
  • DML, DDL, DCL로 구분
    • DML(Data Manipulation Language) : 데이터를 조작하는 언어. SELECT, INSERT, UPDATE, DELETE 등
    • DDL(Data Definition Laguage) : 데이터베이스 스키마를 정의하는 언어. CREATE, ALTER, DROP 등
    • DCL(Data Control Language) : 데이터베이스에 대한 권한을 제어하는 언어(유저 시스템 관리). GRANT, REVOKE 등

ANSI SQL

  • ANSI : SQL, ASCII 등 다양한 표준을 제정하는 미국 국가 표준 기관
  • 대부분의 RDBMS가 ANSI SQL을 따르지만, 각 RDBMS마다 고유의 문법(dialect) 존재
  • 여기서는 MySQL 사용 (* MySQL고유문법)

DDL - DB CREATE

CREATE DATABASE Wapang;
USE Wapang;
  • CREATE DATABASE: 데이터베이스 생성
  • USE: 사용할 데이터베이스 선택

DDL - CREATE TABLE

sql1

DESCRIBE <tablename>;
SHOW CREATE TABLE <tableName>;

DDL - ALTER TABLE

sql2

DML - SELECT

sql3

DML - JOIN

sql4 sql5

DML - ORDER BY

sql6

DML - GROUP BY & HAVING

sql7

DML - LIMIT & OFFSET

sql8

basic EX

sql9 sql10

advanced EX

sql11 sql12

DML - Sub Query

sql13

DML - Query Execution Order

sql14

DML - INSERT

sql15

DML - UPDATE

sql16

DML - DELETE

sql17

DML - DROP TABLE

sql18

DCL - GRANT

sql19

DCL - REVOKE

sql20

MySQL dialect

sql21

Leave a Comment