상세 컨텐츠

본문 제목

[MySQL] DELETE 구문과 조건절

MySQL/MySQL 기본

by 미로910 2024. 6. 4. 17:32

본문

DELETE 구문은 특정 테이블에서 특정 조건을 만족하는 행을 삭제하는 데 사용된다. DELETE 구문을 사용할 때는 삭제할 행을 신중하게 선택해야 한다. DELETE 구문을 사용하여 데이터를 삭제하면 복구하기 어렵거나 불가능할 수 있다. 따라서 DELETE 구문을 사용하기 전에 데이터를 백업하거나, 테스트용 데이터를 사용하거나, WHERE 절을 사용하여 조건을 만족하는 행을 선택하는 데 주의해야 한다.

-- member 테이블에서 id가 3인 행 삭제
DELETE FROM member WHERE id = 3;

-- member 테이블에서 gender가 'F'이고 age가 20보다 큰 행 삭제
DELETE FROM member WHERE gender = 'F' AND age > 20;

샘플 데이터

CREATE TABLE product (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  price INT NOT NULL,
  description VARCHAR(200)
);

INSERT INTO product (id, name, price, description) 
VALUES
(1, '아이폰 13', 1300000, 'Apple의 최신 모델 스마트폰'),
(2, '갤럭시 S21', 1200000, '삼성의 최신 모델 스마트폰'),
(3, '맥북 에어', 1500000, 'Apple의 대표적인 노트북'),
(4, 'LG 그램', 1300000, 'LG전자의 대표적인 노트북'),
(5, '아이패드', 800000, 'Apple의 태블릿'),
(6, '갤럭시 탭', 700000, '삼성의 태블릿'),
(7, '애플 워치', 500000, 'Apple의 스마트 워치'),
(8, '갤럭시 워치', 400000, '삼성의 스마트 워치'),
(9, '에어팟 프로', 300000, 'Apple의 무선 이어폰'),
(10, '갤럭시 버즈', 200000, '삼성의 무선 이어폰');

CREATE TABLE product (
  id INT PRIMARY KEY,
  name VARCHAR(50) NOT NULL,
  price INT NOT NULL,
  description VARCHAR(200)
);

INSERT INTO product (id, name, price, description) 
VALUES
(1, '아이폰 13', 1300000, 'Apple의 최신 모델 스마트폰'),
(2, '갤럭시 S21', 1200000, '삼성의 최신 모델 스마트폰'),
(3, '맥북 에어', 1500000, 'Apple의 대표적인 노트북'),
(4, 'LG 그램', 1300000, 'LG전자의 대표적인 노트북'),
(5, '아이패드', 800000, 'Apple의 태블릿'),
(6, '갤럭시 탭', 700000, '삼성의 태블릿'),
(7, '애플 워치', 500000, 'Apple의 스마트 워치'),
(8, '갤럭시 워치', 400000, '삼성의 스마트 워치'),
(9, '에어팟 프로', 300000, 'Apple의 무선 이어폰'),
(10, '갤럭시 버즈', 200000, '삼성의 무선 이어폰');

-- 가격이 1,000,000원 이상인 상품 삭제
delete
from product
where price >= 1000000;

select * from product;

-- 1	
-- 상품 설명에 'Apple'이 포함된 상품 삭제
delete
from product 
where description like '%Apple%';

-- 2 
-- 가격이 500,000원 이하이고, 상품 설명에 '스마트'가 포함된 상품 삭제
DELETE 
FROM product 
WHERE name LIKE '갤럭시%' 
	AND price > 500000;

-- 3
-- 상품 아이디가 2인 상품만 삭제
DELETE 
FROM 
product
WHERE id = 2;

'MySQL > MySQL 기본' 카테고리의 다른 글

[MySQL] MySQL에서 인덱스(index)란  (0) 2024.06.04
[MySQL] UNIQUE 제약에 이해  (0) 2024.06.04
[MySQL] UPDATE 구문과 조건절  (0) 2024.06.04
[MySQL] SELECT 구문과 조건절  (1) 2024.06.04
[MySQL] INSERT 구문과 제약 사항  (0) 2024.06.04

관련글 더보기