코드 그라데이션
Day04-1. UPDATE, DELETE FROM 본문
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
'Database > Mega-MySQL' 카테고리의 다른 글
Day05-1. Join - INNER JOIN (0) | 2023.06.20 |
---|---|
Day04-3. MySQL 내장 함수 (0) | 2023.06.20 |
Day03-3. SQL의 분류, INSERT (0) | 2023.06.18 |
Day03-1. SQL 기본 - SELECT, 관계연산자, DISTINCT, LIMIT (0) | 2023.06.15 |
Day02. 트리거, 백업과 복원, 사용자 권한, 데이터 추출 (1) | 2023.06.15 |
Comments