su-tudy 님의 블로그

SELECT, INSERT, UPDATE, DELETE 본문

DBMS/Part 2. DML

SELECT, INSERT, UPDATE, DELETE

su-tudy 2024. 9. 17. 23:25

 

𖤐 DML 기본 명령어 이해하기

 

SELECT, INSERT, UPDATE, DELETE는 DML의 핵심 4가지 명령어다. 데이터를 조회하고, 넣고, 수정하고, 삭제하는 가장 기본이 되는 문법이라 제대로 익혀두는 게 중요하다. 특히 UPDATE, DELETE는 잘못 쓰면 데이터를 통째로 날릴 수 있어서 주의가 필요하다.

 


𖤐 정리 노트

 

SELECT - 데이터 조회

테이블에서 데이터를 조회할 때 사용한다.

-- 특정 컬럼만 조회
SELECT column1, column2
FROM table_name;

-- 모든 컬럼 조회
SELECT *
FROM table_name;

 

▸ DISTINCT - 중복 제거

-- 중복을 제거하고 고유한 값만 반환
SELECT DISTINCT column1
FROM table_name;

 

AS - 별칭 지정

조회 결과에 컬럼명 대신 원하는 이름을 붙일 수 있다.

SELECT name AS 이름, age AS 나이
FROM users;

 


 INSERT - 데이터 삽입

테이블에 새 데이터를 추가할 때 사용한다.

-- 방법 1: 컬럼명과 값을 함께 지정 (특정 컬럼만 삽입 가능)
INSERT INTO table_name (column1, column2)
VALUES (value1, value2);

-- 방법 2: 컬럼명 생략 (모든 컬럼에 값을 순서대로 입력)
INSERT INTO table_name
VALUES (value1, value2, value3);

-- 방법 3: SET으로 컬럼에 직접 값 지정
INSERT INTO table_name
SET column1 = value1
  , column2 = value2;

-- 방법 4: 여러 행을 한 번에 삽입
INSERT INTO table_name (column1, column2)
VALUES (value1, value2)
     , (value3, value4)
     , (value5, value6);

 

INSERT INTO SELECT - 다른 테이블에서 복사

-- 다른 테이블의 데이터를 복사해서 삽입
INSERT INTO table2 (column1, column2)
SELECT column1, column2
FROM table1
WHERE condition;
💡 소스 테이블과 대상 테이블의 데이터 타입이 일치해야 한다.

 


 UPDATE - 데이터 수정

 

기존 데이터를 수정할 때 사용한다.

UPDATE table_name
SET column1 = value1
  , column2 = value2
WHERE condition;

 


 DELETE - 데이터 삭제

 

기존 데이터를 삭제할 때 사용한다.

-- 조건에 맞는 행만 삭제
DELETE FROM table_name
WHERE condition;

-- 테이블의 모든 행 삭제
DELETE FROM table_name;

 


𖤐 체크포인트

 

🚨 주의 — WHERE 없이 UPDATE, DELETE 절대 주의
WHERE 절 빠뜨리면 조건 없이 전체 데이터에 적용된다. 되돌리기도 어렵기 때문에 UPDATE, DELETE 쓸 때는 항상 WHERE부터 생각해야 한다.

UPDATE users SET age = 0; → 이렇게 쓰면 테이블의 모든 데이터가 수정됨
DELETE FROM users; → 이렇게 쓰면 테이블의 모든 데이터가 삭제됨

🚨 주의 — 검증 습관
UPDATE, DELETE 실행 전에 같은 조건으로 SELECT를 먼저 날려서 어떤 데이터가 영향받는지 확인하는 게 좋다.

SELECT * FROM users WHERE id = 5; → 먼저 SELECT로 대상 확인
UPDATE users SET age = 25 WHERE id = 5; → 확인 후 UPDATE 실행

🚨 오류 — SELECT * 는 가급적 지양
SELECT *는 편하지만 불필요한 컬럼까지 조회해 성능과 가독성이 떨어지고, 컬럼 변경 시 예상치 못한 문제가 생길 수 있어 실무에서는 필요한 컬럼만 명시해서 조회하는 것이 좋다.

 


𖤐 오늘의 한 줄 요약

 

SELECT로 조회, INSERT로 삽입, UPDATE로 수정, DELETE로 삭제. UPDATE와 DELETE는 WHERE 없이 실행하면 전체 데이터에 적용되니 실행 전 SELECT로 먼저 확인해야 한다.

'DBMS > Part 2. DML' 카테고리의 다른 글

JOIN (INNER, LEFT, RIGHT, OUTER)  (0) 2024.10.11
GROUP BY와 HAVING  (0) 2024.09.24
COUNT, SUM, AVG, MAX, MIN  (0) 2024.09.23
ORDER BY와 LIMIT  (0) 2024.09.22
WHERE와 연산자  (0) 2024.09.20