DELETE
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, '삼성의 무선 이어폰');
select * from product;
-- drop table product;
/*
LG 전자는 노력 끝에 삼성전자를 인수하였다.
앞으로 갤럭시 핸드폰은 유니크 핸드폰으로 모델명이 바뀌게 되었다.
1
여기서 갤럭시 핸드폰의 이름을 유니크로 바꾸고
2
국내 기업과 외국 기업의 차이를 알아볼 수 있게 바꾸시오
3
+ 상품 설명도 lg전자의 설명으로 바꾸시오
4
+ LG 전자는 특가 이벤트로 전 기기 20% 할인이 들어갔다
*/
-- 1. 특정 문자만 변경
update product
set name = replace (name,'갤럭시','레전드')
where name like '%갤럭시%';
-- 2. 열 추가
alter table product add 국내외 varchar(20);
-- 열 이름 변경
alter table product rename column 국내외 to origin;
update product
set origin = '국내'
where name like '%LG%' or name like '%레전드%';
update product
set origin = '국외'
where name not like '%LG%' and name not like '%레전드%';
-- 3.
UPDATE product
set description = replace(description,'삼성','LG전자')
WHERE description like '%삼성%';
-- 4.
-- 내부 값 변경
update product
set price = price * 0.8
where name like '%LG%' or name like '레전드%';
-- 그냥 해봄
-- 내부 값 변경 보기만 하기
select name as '상품명', price -200000 as '20만원 빼기' from product where name like '레전드%';
select * from product;
'MySQL > MySQL 기본' 카테고리의 다른 글
MySQL에서 인덱스(index)란 - 12 (0) | 2024.06.04 |
---|---|
UNIQUE 제약에 이해 - 11 (0) | 2024.06.04 |
UPDATE 구문과 조건절 - 9 (0) | 2024.05.31 |
SELECT 구문과 조건절 - 8 (0) | 2024.05.31 |
INSERT 구문과 제약 사항 - 7 (0) | 2024.05.31 |