06_DDL
·
SKN_AI_33/DB
DDL - 데이터 정의 언어DDL 개요데이터베이스 스키마(테이블, 인덱스 등)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문.중요: DDL은 실행 즉시 자동 COMMIT. ROLLBACK 불가!명령어 설명CREATE새로운 테이블/DB/뷰 등 생성ALTER테이블 구조 수정DROP테이블/DB 삭제 (구조 + 데이터 모두)TRUNCATE테이블 내 데이터 전체 삭제 (구조는 유지)RENAME테이블 이름 변경CREATE TABLECREATE TABLE 테이블명 ( 컬럼명 데이터타입 [제약조건], ... [테이블 수준 제약조건]) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='설명';-- 예시CREATE TABLE tbl_membe..
05_TCL 트랜잭션
·
SKN_AI_33/DB
TCL - 트랜잭션 제어트랜잭션이란?한 번에 수행되어야 하는 DML 논리적 작업 단위. 여러 SQL이 묶여 "전부 성공" 아니면 "전부 실패"로 처리.은행 송금 예시: "A 계좌 -10만원" + "B 계좌 +10만원" → 두 작업이 반드시 같이 성공/실패해야 함.ACID 특성특성 설명Atomicity (원자성)트랜잭션 내 모든 작업이 전부 성공하거나 전부 실패Consistency (일관성)트랜잭션 전후에 데이터 무결성 제약조건 유지Isolation (격리성)동시 실행 트랜잭션이 서로 영향 안 줌Durability (영속성)COMMIT된 데이터는 장애가 나도 유지기본 명령어-- 트랜잭션 명시적 시작START TRANSACTION; -- 또는 BEGIN;-- 변경사항 영구 저장COMMIT;-- 변경사항..
04_DML
·
SKN_AI_33/DB
DML - 데이터 조작 (INSERT / UPDATE / DELETE)DML 명령은 트랜잭션(Transaction) 내에서 실행되므로, COMMIT 전까지는 실제 반영되지 않고 ROLLBACK으로 되돌릴 수 있다.INSERT (삽입)-- 기본 문법: 컬럼 순서와 값 순서 일치해야 함INSERT INTO 테이블명 (컬럼1, 컬럼2, ...)VALUES (값1, 값2, ...);-- 전체 컬럼 삽입 (컬럼 목록 생략 가능, 비권장)INSERT INTO tbl_menu VALUES (NULL, '새메뉴', 12000, 4, 'Y');-- AUTO_INCREMENT 컬럼에는 NULL 또는 DEFAULT 전달-- 명시적 컬럼 지정 (권장)INSERT INTO tbl_menu (menu_name, menu_pric..
03_JOIN
·
SKN_AI_33/DB
JOIN (테이블 연결)JOIN 개요두 개 이상의 테이블을 공통 컬럼을 기준으로 연결해 하나의 가상 테이블(relation)을 만든다.tbl_menu (menu_code, menu_name, menu_price, category_code)tbl_category (category_code, category_name, ref_category_code)→ category_code 컬럼이 두 테이블의 연결 고리 (FK)JOIN 종류 한눈에 보기tbl_menu (M) tbl_category (C)INNER JOIN : M ∩ C (양쪽에 모두 있는 것)LEFT JOIN : M 전체 + C에 있는 것 (M 기준)RIGHT JOIN : C 전체 + M에 있는 것 (C 기준)CROSS..
02_DQL SELECT
·
SKN_AI_33/DB
DQL - SELECT (데이터 조회)SELECT 기본 구조SELECT 컬럼1, 컬럼2, ... -- 조회할 컬럼 (또는 *)FROM 테이블명 -- 어느 테이블에서WHERE 조건 -- 필터링 (선택)GROUP BY 컬럼 -- 그룹화 (선택)HAVING 조건 -- 그룹 필터링 (선택)ORDER BY 컬럼 ASC|DESC -- 정렬 (선택)LIMIT 개수 OFFSET 시작위치 -- 페이징 (선택)실행 순서 (작성 순서 ≠ 실행 순서)FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMITHAVING에서는 SELECT 별칭을..
01_SQL 기초와 데이터 타입
·
SKN_AI_33/DB
SQL 기초와 데이터 타입데이터베이스(DB)란?데이터를 체계적으로 저장하고 관리하는 시스템.DBMS: DataBase Management System. 데이터베이스를 관리하는 소프트웨어 (MySQL, PostgreSQL, Oracle 등)RDBMS: Relational DBMS. 데이터를 테이블(행/열) 형태로 관리하며 테이블 간 관계를 정의SQL: RDBMS와 대화하는 언어 (Structured Query Language)핵심 개념용어 설명테이블 (Table)데이터를 저장하는 단위. 행(Row)과 열(Column)로 구성행 (Row / Record)테이블의 한 건의 데이터열 (Column / Field)데이터의 속성 (이름, 나이 등)기본키 (PK)행을 고유하게 식별하는 컬럼. NOT NULL + UN..