SQL 이름이 들어간 비슷한 DB 종류들입니다!
관계형 DB (SQL 계열) 전체 비교
| DB | 제조사 | 비용 | 특징 |
|---|---|---|---|
| MySQL | Oracle | 무료 | 웹서비스 1위 |
| MariaDB | 오픈소스 | 무료 | MySQL 대체 |
| SQL Server | Microsoft | 유료 | 윈도우 최적화 |
| PostgreSQL | 오픈소스 | 무료 | 기능 최강 |
| SQLite | 오픈소스 | 무료 | 초경량/모바일 |
| Oracle DB | Oracle | 유료 | 대기업/금융 |
MariaDB
MySQL에서 파생된 오픈소스 관계형 DB
MySQL과 거의 동일하지만 완전 무료!
MySQL ──→ Oracle이 인수
↓
유료화 우려
↓
개발자들이 분리
↓
MariaDB 탄생 (완전 무료!)
| 특징 | 설명 |
|---|---|
| 형식 | SQL (관계형) |
| 라이선스 | 완전 무료 오픈소스 |
| 호환성 | MySQL과 거의 동일 |
| 장점 | 무료, 빠른 성능 |
| 단점 | 대기업 지원 부족 |
활용 예시
→ 중소기업 웹서비스
→ 워드프레스 DB
→ 개인 프로젝트
SQL Server
Microsoft에서 만든 관계형 DB
윈도우 환경에서 강력한 성능
| 특징 | 설명 |
|---|---|
| 형식 | SQL (관계형) |
| 제조사 | Microsoft |
| 운영체제 | Windows 최적화 |
| 라이선스 | 유료 (무료 버전 있음) |
| 장점 | MS 제품과 완벽 연동 |
| 단점 | 비용 부담 |
MS 제품 연동
SQL Server ──→ Excel
──→ Power BI
──→ Azure 클라우드
──→ Windows Server
활용 예시
→ 대기업 ERP 시스템
→ 금융권 시스템
→ 공공기관 시스템
PostgreSQL
오픈소스 관계형 DB 중 가장 강력한 기능
"오픈소스 DB의 끝판왕"
| 특징 | 설명 |
|---|---|
| 형식 | SQL (관계형) |
| 라이선스 | 완전 무료 오픈소스 |
| 안정성 | 매우 높음 |
| 기능 | 가장 풍부한 기능 |
| 장점 | 무료 + 강력한 기능 |
| 단점 | 설정이 복잡함 |
활용 예시
→ 대규모 웹서비스
→ GIS (지리정보시스템)
→ 금융 데이터 분석
→ AI/빅데이터 분석
4가지 한눈에 비교
| MongoDB | MariaDB | SQL Server | PostgreSQL | |
|---|---|---|---|---|
| 형식 | NoSQL | SQL | SQL | SQL |
| 비용 | 무료 | 무료 | 유료 | 무료 |
| 제조사 | MongoDB Inc | 오픈소스 | Microsoft | 오픈소스 |
| 난이도 | 쉬움 | 보통 | 보통 | 어려움 |
| 성능 | 빠름 | 빠름 | 높음 | 매우 높음 |
| 주요 용도 | 빅데이터 | 웹서비스 | 기업용 | 대규모 서비스 |
어떤 걸 선택해야 할까?
📌 개인 프로젝트/입문 → MariaDB
📌 SNS/빅데이터 → MongoDB
📌 윈도우 기반 기업 → SQL Server
📌 대규모 서비스/안정성 → PostgreSQL
MongoDB(몽고는 성격이 다르다)
NoSQL 데이터베이스
표(테이블) 대신 문서(Document) 형태로 저장
저장 형태 (JSON 형식)
{
"이름": "홍길동",
"나이": 25,
"취미": ["축구", "독서", "게임"]
}
| 특징 | 설명 |
|---|---|
| 형식 | NoSQL (비관계형) |
| 저장 방식 | JSON 문서 형태 |
| 유연성 | 스키마 없이 자유롭게 저장 |
| 장점 | 대용량, 빠른 처리 |
| 단점 | 복잡한 관계 표현 어려움 |
활용 예시
→ SNS (게시글, 댓글)
→ 실시간 빅데이터
→ IoT 데이터
SQL 종류와 주요 명령어
SQL = Structured Query Language
| 약어 | 풀네임 | 뜻 |
|---|---|---|
| S | Structured | 구조화된 |
| Q | Query | 질의 (질문/요청) |
| L | Language | 언어 |
한 줄 정의
데이터베이스에 질문(요청)하는
구조화된 언어
예시
sql
-- "학생 테이블에서 모든 데이터 가져와줘"
SELECT * FROM 학생;
-- "나이가 20살 이상인 학생 찾아줘"
SELECT * FROM 학생 WHERE 나이 >= 20;
쉽게 말해 “데이터베이스와 대화하는 언어” 입니다! 😊

SQL 종류
| 종류 | 풀네임 | 설명 |
|---|---|---|
| DDL | Data Definition Language | 데이터 정의어 |
| DML | Data Manipulation Language | 데이터 조작어 |
| DCL | Data Control Language | 데이터 제어어 |
| TCL | Transaction Control Language | 트랜잭션 제어어 |
1. DDL (데이터 정의어)
sql
-- 테이블 생성
CREATE TABLE 학생 (이름 VARCHAR(10), 나이 INT);
-- 테이블 수정
ALTER TABLE 학생 ADD 지역 VARCHAR(10);
-- 테이블 삭제
DROP TABLE 학생;
→ 테이블을 만들고, 수정하고, 삭제하는 명령어
2. DML (데이터 조작어)
sql
-- 데이터 조회
SELECT * FROM 학생;
-- 데이터 삽입
INSERT INTO 학생 VALUES ('홍길동', 20);
-- 데이터 수정
UPDATE 학생 SET 나이 = 21 WHERE 이름 = '홍길동';
-- 데이터 삭제
DELETE FROM 학생 WHERE 이름 = '홍길동';
→ 데이터를 조회/삽입/수정/삭제하는 명령어
→ 가장 많이 사용!
3. DCL (데이터 제어어)
sql
-- 권한 부여
GRANT SELECT ON 학생 TO 홍길동;
-- 권한 취소
REVOKE SELECT ON 학생 FROM 홍길동;
→ 사용자 접근 권한을 관리하는 명령어
4. TCL (트랜잭션 제어어)
sql
-- 작업 확정
COMMIT;
-- 작업 취소
ROLLBACK;
-- 저장점 설정
SAVEPOINT 저장점1;
→ 데이터 작업을 확정하거나
취소하는 명령어
한눈에 정리
DDL → 테이블 구조 관리 (만들기/수정/삭제)
DML → 데이터 관리 (조회/삽입/수정/삭제)
DCL → 권한 관리 (부여/취소)
TCL → 트랜잭션 관리 (확정/취소)
가장 많이 쓰는 건 DML 의 SELECT, INSERT, UPDATE, DELETE 입니다! 😊