300x250
SQL 이란.
SQL(Structured Query Language) 구조절 질의 언어로 RDBMS(Relational DataBase Magagement System) 관계형 데이터 베이스에서 수많은 데이터를 처리 및 관리하기 위해 설계된 관리 목적의 프로그래밍 언어입니다.
쉽게 말해 특수 목적성을 띄는 언어인데
DB에서 수없이 많은 데이터를 일괄적으로 관리하기 위해 만들어졌다고 보면 됩니다.
현재 DB는 RDBMS(관계형 데이터베이스)와 NoSQL(Not Only SQL)의 두 가지 종류가 존재하며
기존 SQL 언어 기준 테이블간의 관계를 정립해야만 하는 RDBMS와는 달리
SQL만을 사용하지 않으며 각 DB별 다른 저장기술을 가진 게 NoSQL입니다.
SQL의 문법 3종류
SQL 언어의 문법은 크게 3종류로 나뉩니다.
- DDL (Data definition language)
- 데이터를 정의하기 위한 언어입니다. 데이터를 저장하기 위한 스키마, 데이터베이스의 생성/수정/삭제 등의 행위를 수행합니다.
- DML (Data manipulation language)
- 데이터를 조작하기 위한 언어입니다. 실제 데이터베이스 내에 존재하는 데이터에 대해 조회/저장/수정/삭제 등의 행위를 수행합니다.
- DCL (Data control language)
- 데이터베이스의 접근 권한 등의 설정을 하기 위한 언어입니다. 데이터베이스 내에 사용자의 사용 권한을 부여하기 위한 GRANT와 권한을 박탈하는 REVOKE가 대표적입니다.
실제 SQL에서 사용되는 문법들을 아래 3가지의 형태로 나누어볼 수 있습니다
DDL(Data definition language)
- CREATE - 개체를 생성합니다. // 데이터가 들어갈 테이블을 만든다는 뜻입니다.
- ALTER - 개체를 수정합니다. // 생성한 테이블의 값이나 테이블 자체를 수정합니다.
- DROP - 개체를 삭제합니다. // 생성한 테이블을 삭제합니다.
- TRUNCATE - 개체를 초기화합니다. // 생성한 테이블을 초기화하여 생성 당시로 되돌립니다.
DML(Data manipulation language)
- SELECT - 데이터를 조회합니다. // 테이블에 저장된 데이터를 조회해 확인할 수 있습니다.
- INSERT - 데이터를 추가합니다. // 테이블에 데이터를 추가할 수 있습니다.
- UPDATE - 데이터를 수정합니다. // 테이블에 추가되어있는 데이터를 수정합니다.
- DELETE - 데이터를 삭제합니다. // 테이블에 추가된 데이터를 삭제할 수 있습니다.
DCL (Data control language)
- GRANT - 유저에게 권한을 부여합니다. // 테이블을 사용할 수 있는 권한을 [부여]합니다.
- REVOKE - 유저의 권한을 회수합니다. // 테이블을 사용할 수 있는 권한을 [회수]합니다.
- COMMIT - 작업 완료 후 저장과 알림 // 자신이 DB에서 행한 모든 작업이 저장되어 덮어쓰기 되고 그 작업의 완료 알람이 관리자에게 알려진다는 의미입니다.
- ROLLBACK - 비정상 종료된 작업을 복구합니다. // 말 그대로 비정상적인 종료 시 기존 저장상태로 복구합니다.
DB를 관리하는 SQL이라는 언어
배우기 전에는 까다롭고 거부감이 드는데(저는 그랬습니다.)
막상 배워보면 별게 없습니다.
위 12개의 문법만 가지고 주야장천 조합해서 사용합니다.
특히 보안 분야에서라면 SQL 언어에 대한 숙련도가 높으면 높을수록 좋습니다.
300x250
'정보보안 > DB,SQL' 카테고리의 다른 글
Maria DB 기초적인 문법 사용법 정리 - 1 // Maria DB, MySQL, SQL 문법 (0) | 2023.01.06 |
---|---|
SQL Injection 용 Maria DB 설치와 기초 설정법 - admin 계정 생성, 기초 설정 (0) | 2022.12.20 |
Mongo DB - [unable to connect: connect ECONNREFUSED 127.0.0.1:27017] 에러 이슈 (1) | 2022.10.25 |
Visual Studio Code에서 Flask 웹서버에 MongoDB 연동하고 쿼리 저장하기(windows) (1) | 2022.10.12 |
MongoDB 3.7 버전 이상 db.collection.count() 메서드 사용불가 이슈 (0) | 2022.09.01 |
댓글