[얄코] Section 3-4. 데이터 조작하기 (데이터 변경, 삭제하기)

2023. 4. 19. 14:09Database/갖고노는 MySQL 데이터베이스

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

 Preferences > SQL Editor > Safe Updates 항목 체크오프하고 다시 접속

DELETE FROM businesses
WHERE status = 'CLS';

 

DELETE 문으로 행 전체 삭제

 
DELETE FROM businesses;
INSERT INTO businesses (fk_section_id, business_name, status, can_takeout)
VALUES  (3, '화룡각', 'OPN', 1),
        (2, '철구분식', 'OPN', 1),
        (5, '얄코렐라', 'RMD', 1);

businesses 테이블을 삭제하고, 아래와 같이 항목들을 추가하면,

1부터 시작하는 것이아니라 이전 index들을 기억하고 그 이후부터 인덱스를 계수한다.

💡 TRUNCATE 문으로 테이블 초기화

 
TRUNCATE businesses;
INSERT INTO businesses (fk_section_id, business_name, status, can_takeout)
VALUES  (3, '화룡각', 'OPN', 1),
        (2, '철구분식', 'OPN', 1),
        (5, '얄코렐라', 'RMD', 1);

근데 TRUNCATE를 사용하게 된다면, 이전의 index를 기억하지않고 1부터 다시 계수한다.

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 price = price + 1000
WHERE fk_business_id = 8;
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 = '획일화';

 

 

출처 : https://www.yalco.kr/@sql/3-4

 

데이터 변경, 삭제하기

어려운 프로그래밍 개념들을 쉽게 설명해주는 유튜브 채널 '얄팍한 코딩사전'. 영상에서 다 알려주지 못한 정보들이나 자주 묻는 질문들의 답변들, 예제 코드들을 얄코에서 확인하세요!

www.yalco.kr