본문 바로가기

프로그래밍 강의 메모/갖고노는 MySQL 데이터베이스 by 얄코

데이터 조작하기 > 데이터 변경, 삭제하기

https://inf.run/JvXX

 

갖고노는 MySQL 데이터베이스 by 얄코 - 인프런 | 강의

비전공자도 이해할 수 있는 MySQL! 빠른 설명으로 필수개념만 훑은 뒤 사이트의 예제들과 함께 MySQL을 ‘갖고 놀면서’ 손으로 익힐 수 있도록 만든 강좌입니다., - 강의 소개 | 인프런...

www.inflearn.com

1. DELETE - 주어진 조건의 행 삭제하기

 

DELETE FROM businesses
WHERE status = 'CLS';

 

DELETE 문으로 행 전체 삭제

-- 조건을 정해주지 않으면 행 전체 삭제
-- 전체 행을 삭제할 의도가 없었는데, 실수할 수도 있다.
DELETE FROM businesses;

 

TRUNCATE 문으로 테이블 초기화

행 전체를 삭제하는 것이 아니라 테이블 자체를 초기화하는 것.

그래서 TRUNCATE 이후 INSERT 하면 id가 1번부터 다시 시작한다.

 

TRUNCATE businesses;

 

 

2. UPDATE - 주어진 조건의 행 수정하기

 

UPDATE menus
SET menu_name = '삼선짜장'
WHERE menu_id = 12;

 

여러 컬럼 수정하기

UPDATE menus
SET 
  menu_name = '열정떡볶이',
  kilocalories = 492.78,
  price = 5000
WHERE 
  fk_business_id = 4
  AND menu_name = '국물떡볶이';

 

컬럼 데이터 활용하여 수정하기

UPDATE menus
SET menu_name = CONCAT('전통 ', menu_name)
WHERE fk_business_id IN (
  SELECT business_id 
  FROM sections S
  LEFT JOIN businesses B
    ON S.section_id = B.fk_section_id 
  WHERE section_name = '한식'
);

 

⚠️ 조건문 없이는 모든 행 변경

-- 모든 행을 변경하는 실수할 때
UPDATE menus
SET menu_name = '획일화';