(복습) SQL의 분류DDL (Data Definition Language): 데이터 구조 정의CREATE, ALTER, DROP, TRUNCATEDML (Data Manipulation Language): 데이터 조작INSERT, SELECT, UPDATE, DELETEDCL (Data Control Language): DB 제어GRANT, REVOKE, BACKUP, RESTORETCL (Transaction Control Language): 트랜잭션 제어COMMIT, ROLLBACK (깔고 가기) 실행 순서·NULL·암묵적 형변환SELECT 실행 논리 순서FROM → WHERE → GROUP BY → HAVING → SELECT(표현식) → ORDER BY → LIMIT집계 전 필터는 WHERE..
DDL(Data Definition Language)DDL은 데이터 정의 언어로, 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성/수정/삭제하는 명령어이다.주요 구문CREATE : 객체 생성ALTER : 객체 수정DROP : 객체 삭제TRUNCATE : 데이터 전체 삭제 (롤백 불가)CREATE TABLE DEPT ( DEPTNO INT, DNAME VARCHAR(14), LOC VARCHAR(13));위의 코드는 부서 정보를 담는 테이블을 생성하는 코드이다.이후에 ALTER TABLE을 통해 기본키 제약조건을 추가할 수 있다. 제약조건(Constraints)제약조건은 데이터 무결성을 보장하기 위해 특정 컬럼 값에 제한을 두는 규칙이다.종류PRIMARY KEY행을 고유하게 식별한다..
데이터베이스 개발에서 DDL(Data Definition Language) 은 뼈대에 해당한다. 우리가 다루는 모든 데이터는 테이블, 뷰, 인덱스 등 객체 위에 저장되는데, 이 객체들을 만들고(Create), 바꾸고(Alter), 삭제(Drop)하는 언어가 바로 DDL이다. 여기에 더해 데이터 무결성을 보장하는 제약조건을 설정하는 것이 핵심이다. DDL이란?Data Definition Language, 데이터 정의 언어.데이터베이스 객체(테이블, 뷰, 인덱스 등)의 구조를 정의하고 변경/삭제하는 명령어 집합이다.주요 명령어는 아래와 같다.CREATE : 새로운 객체 생성ALTER : 기존 객체 구조 변경DROP : 객체 삭제 (복구 불가)TRUNCATE : 테이블 데이터 전체 삭제 (구조는 남음, ..
데이터베이스를 다루는 개발자라면 트랜잭션(Transaction) 과 COMMIT/ROLLBACK 개념은 반드시 이해해야 한다. 이 글에서는 SQL 단계에서의 트랜잭션 개념을 잡고, 실제 예제를 통해 COMMIT/ROLLBACK을 체감한 뒤, 실무에서 자주 사용하는 Spring Boot @Transactional까지 확장해 보겠다. 트랜잭션(Transaction) 개념트랜잭션: 데이터베이스에서 실행되는 하나의 논리적 작업 단위예: 장바구니 담기 → 결제 완료 → 재고 차감 → 영수증 발행트랜잭션은 원자성(Atomicity) 을 가져야 한다.즉, 모두 성공하거나, 전부 실패해야 한다는 뜻이다. COMMIT의 필요성과 역할COMMIT은 트랜잭션을 최종 확정하는 명령어이다.COMMIT 전 → 변경 사항이..
데이터베이스를 다루는 핵심은 결국 데이터를 삽입·조회·수정·삭제하는 작업이다. 이 네 가지 동작은 흔히 CRUD(Create, Read, Update, Delete) 라고 부르며, SQL에서는 DML(Data Manipulation Language) 명령어를 통해 수행한다. 이번 글에서는 SQL DML 기본 문법과 함께, 실무에서 놓치기 쉬운 포인트까지 정리해보겠다.DML이란?DML (Data Manipulation Language) 은 데이터베이스에 저장된 데이터를 조작하는 언어이다.INSERT: 새로운 데이터 추가 (Create)SELECT: 데이터 조회 (Read)UPDATE: 기존 데이터 수정 (Update)DELETE: 데이터 삭제 (Delete)즉, DML은 데이터베이스를 단순 저장소가 아니라..
데이터베이스(Database, DB)는 소프트웨어 개발에서 빠질 수 없는 핵심 요소이다. 백엔드 개발자뿐만 아니라, 프론트엔드 개발자나 데이터 엔지니어에게도 기본적인 DB 지식은 필수이다. 이번 글에서는 데이터베이스의 기본 개념을 정리해 보겠다. 데이터의 종류데이터는 크게 정형, 반정형, 비정형 데이터로 나눌 수 있다.실무 팁대부분의 서비스는 정형 데이터(RDBMS) + 반정형 데이터(NoSQL) 를 혼합해서 사용한다.예를 들어, 사용자 계정 정보는 MySQL에, 로그 데이터는 MongoDB에 저장하는 식이다. DBMS와 스키마 개념DBMS (Database Management System) 는 데이터베이스를 관리하는 시스템이다.역할데이터 저장 (테이블 구조 기반)데이터 접근 (SQL 사용)데이터..