[SeSAC x 코딩온] 웹 풀스택 회고 13 | SQL 헷갈리는 부분 복습

HyeKong·2023년 8월 27일
0
post-thumbnail

1. DB 생성 프로세스

해당 실습 코드는 MySQL 기준입니다.

  1. 데이터베이스 생성
CREATE DATABASE db1 DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
USE db1;
  1. 테이블 생성
CREATE TABLE bckt(
	id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    price INT NOT NULL,
    color VARCHAR(10) NOT NULL
);
  1. 데이터 CRUD
INSERT INTO cstmr (custid, custname, addr, phone, birth) 
	VALUES('lucky', '강해원', '미국 뉴욕', '01022223333', '2002-03-05');

SELECT birth FROM cstmr WHERE custname="강해린";

UPDATE cstmr SET addr = "대한민국 서울" WHERE custid="happy";

DELETE FROM cstmr WHERE custid="happy";


2. DDL, DML 차이

정보처리기사를 공부할 때 DDL과 DML의 명령어 차이를 묻는 문제가 많았었다.
하지만, 암기하기 급급했던 터라 DELETE는 DML, DROP은 DDL이다 이렇게 외우고만 넘어갔었고, 둘의 차이는 잘 이해가 안 갔었다. 그래서 확실히 짚고 넘어가보고자 한다.

DDL 데이터 정의어

=> DB, 테이블 정의 명령어
=> 테이블, 관계 구조 생성 명령어
CREATE, ALTER, DROP

DML 데이터 조작어

=> 데이터 CRUD 명령어
SELECT, INSERT, UPDATE, DELETE

내가 이해한 구조를 그려보았다.

DB 생성 과정이
DB => 테이블 => 데이터 순이므로 DB와 테이블은 DDL이 선언하고, 그 안의 데이터 CRUD는 DML이 관리한다고 이해하였다.

3. DELETE, DROP, TRUNCATE 차이

DELETE

튜플 삭제

TRUNCATE

모든 튜플 일괄 삭제
테이블 초기화

DROP

테이블 자체 삭제

0개의 댓글