DBMS

[MySQL] 데이터 변경/삭제하기

Alchemists 2022. 7. 19. 19:55
728x90

 

DELETE 

주어진 조건의 행을 삭제한다.

반드시 WHERE을 써야 한다. 안그러면 행을 전체 삭제해버린다..🥶

 

✨ DELETE와 TRUNCATE의 차이

DELETE는 모든행을 삭제했을때 ID값을 기억해서 그 다음 ID부터 새롭게 데이터를 넣는데,

TRUNCATE는 테이블을 초기화해서 ID가 1부터 시작된다.

 

UPDATE

주어진 조건의 행을 수정할때 사용한다.

 

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

 

menus 테이블에서 menu_id가 12인것의 menu_name을 바꾼다는 것이다. 

 

++) FROM과 WHERE의 차이

SELECT 컬럼명

FROM 테이블명

WHERE 조건;

 

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 = '한식'
);

 

🚨 WHERE이라는 조건문 없이 UPDATE를 사용한다면 모든 행을 변경하게 된다!

 

++) fk 

foreign key로 두 테이블을 연결할때 사용하는 key를 말한다. 

외래키가 포함된 테이블을 자식 테이블, 외래키를 제공하는 테이블을 부모 테이블이라고 한다. 

728x90