본문 바로가기

WEB/SQL

[SQL INJECTION] SQL 기본 문법 정리 Ⅰ

이 포스트는 인프런의 성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법 을 보고 작성하였습니다!

 

 

1. SQL 이란?

 사용자의 INPUT에 SQL 구문을 넣어 DB에 질의 하는 것.

* DB(데이터베이스)란?

데이터를 구조적으로 모아둔 데이터 집합소.

관계형 데이터베이스(RDB) : 테이블(형, 열)

비관계형 데이터베이스(NO SQL)

→ 비구조적, 큰 용량, 빠른 속도 빅데이터에 적합함, 가변적인 데이터 ex)mongoDB

 

 

(1) SQL의 구조

 

 

DBMS: DB의 데이터에 접근할 수 있도록 하는 것

application: SQL Client Program

ex) JAVA, PHP, C, C++

 

RDMS: 

ex) ORACLE, MYSQL, SQLSERVER, POSTGRESQL

 

(2) SQL 문법 

① 데이터 정의 언어 (DDL): CREATE, DROP, ALTER

② 데이터 조작 언어 (DML): SELECT, INSERT, UPDATE, DELETE  ← SQL INJECTION 에서 사용

1) CRUD: 기본적인 데이터 처리 기능

2) CREATE(생성): INSERT,  

3) READ(읽기): SELECT, 

4) UPDATE(갱신): UPDATE, 

5) DELETE(삭제): DELETE

③ 데이터 제어 언어 (DCL): GRANT, REVOKE