코드 그라데이션

Day04-1. UPDATE, DELETE FROM 본문

Database/Mega-MySQL

Day04-1. UPDATE, DELETE FROM

완벽한 장면 2023. 6. 19. 13:23

UPDATE

  • 기존에 입력되어 있는 값의 변경
  • 전체 테이블의 내용을 변경하고 싶을 때는 WHERE을 생략하기도 함.
-- where 절은 생략 가능하나, 생략 시에는 테이블의 전체 행의 내용이 변경됨.
UPDATE testTbl4
	SET Lname ='없음'
    WHERE Fname = 'kyoichi'; 
-- firstName이 kyoichi인 애의 lastName을 '없음'으로 바꾼다.    
-- 만약 이런 사고가 발생한 경우, ROLLBACK으로 시점 맞춰서 돌려야 한다.

 

물가를 1.5배 상승시키기

-- 물가 상승시키기
update buytbl
	SET price = price*1.5;

 

DELETE FROM

  • DELETE는 행 단위로 삭제

기본형

DELETE FROM 테이블명 WHERE 조건;

 

-- DELETE는 안의 정보만 없어지고,
-- DROP은 테이블 자체가 날아감.
-- TRUNCATE는 속도가 빠름. 다 날릴 수도 있음.    
-- 트랜잭션 : 쿼리 실행 흐름

 

CREATE TABLE bigtbl1 (SELECT * FROM employees.employees);
CREATE TABLE bigtbl2 (SELECT * FROM employees.employees);
CREATE TABLE bigtbl3 (SELECT * FROM employees.employees);

DELETE FROM bigTBL1; -- 이게 속도가 가장 느림.
DROP TABLE bigTbl2;
TRUNCATE TABLE bigTbl3;

-- 지울 때는 LIMIT 잘 안 쓴다.
DELETE FROM testTBL4 WHERE Fname = 'Aamer' LIMIT 5; -- 위에 있는 거 5개만 삭제
DELETE FROM testTBl4 WHERE Fname = 'Aamer'; -- 전체 삭제
-- 확인해보니까 전체 크기는 228개다.
-- 그러나 평소에는 where절 지정해서 지운다.

 

BY CHAT GPT

DROP

  • DROP: DROP 명령문은 테이블, 뷰, 인덱스, 프로시저 등 데이터베이스 객체를 삭제하는 데 사용됩니다. 
  • DROP 문을 사용하면 해당 객체와 관련된 모든 데이터가 완전히 삭제됩니다.
  • DROP 문을 사용하여 테이블을 삭제하면 해당 테이블의 정의, 제약 조건, 인덱스, 트리거 등 모든 관련 정보도 함께 삭제됩니다.
  • DROP 문은 삭제된 객체를 복구할 수 없으므로 주의해야 합니다.

TRUNCATE

  • TRUNCATE 명령문은 테이블에서 모든 데이터를 삭제하는 데 사용됩니다.
  • TRUNCATE 문을 사용하면 테이블의 모든 행이 삭제되지만 테이블 구조, 제약 조건, 인덱스 등은 유지됩니다.
  • TRUNCATE 문은 DELETE 문보다 빠르게 동작하며, 테이블에 대한 롤백 포인트를 유지하지 않으므로 롤백이 불가능합니다
  • TRUNCATE 문은 테이블을 비우고 싶을 때 주로 사용됩니다

DELETE

  • DELETE 명령문은 테이블에서 특정 조건을 만족하는 행을 삭제하는 데 사용됩니다. 
  • DELETE 문을 사용하면 테이블에서 특정 행만 삭제할 수 있습니다.
  • DELETE:  조건을 지정하지 않으면 테이블의 모든 행이 삭제됩니다. 
  • DELETE 문은 테이블의 데이터를 조작하거나 특정 행을 선택적으로 삭제해야 할 때 주로 사용됩니다.

 

728x90
Comments