SQL DELETE 문은 테이블 구조를 그대로 유지하면서 테이블에서 특정 행을 제거하는 데 사용됩니다. 테이블 전체를 삭제하는 DROP과 다릅니다.
- 조건에 따라 행을 제거합니다.
- 테이블 스키마 제약 조건과 인덱스를 유지합니다.
- 단일 행 또는 모든 행을 삭제할 수 있습니다.
예: 먼저 우리는 만들다 SQL DELETE 명령을 사용할 데모 SQL 데이터베이스 및 테이블.
질문:
DELETE FROM Employees
WHERE EmployeeID = 5;
산출:
- 이 쿼리는 EmployeeID가 5인 Employees 테이블의 행을 삭제합니다.
- 해당 특정 레코드만 제거됩니다. 다른 모든 행은 변경되지 않습니다.
통사론:
자바 문자열 형식화
DELETE FROM table_name
WHERE some_condition;
- 일부_조건: 삭제하려는 행을 필터링하는 데 사용되는 조건입니다.
- 테이블_이름: 행을 삭제하려는 테이블의 이름입니다.
메모: WHERE 절을 사용하여 단일 또는 여러 레코드를 삭제할 수 있습니다. 생략하면 테이블의 모든 레코드가 제거됩니다.
SQL DELETE 문의 예
아래와 같이 ID 이름, 이메일, 부서 등을 포함하여 직원의 개인 세부 정보가 포함된 GFG_Employee라는 테이블을 SQL로 생성했다고 가정합니다.
테이블 생성 GFG_직원(
ID INT 기본 키
이름 VARCHAR (20)
이메일 VARCHAR (25)
부서 VARCHAR(20)
);
INSERT INTO GFG_Employees(ID 이름 이메일 부서) VALUES
(1 '제시' '[email protected]' '개발')
(2 '프라빈' '[email protected]' 'HR')
(3 '캔' '[email protected]' '판매')
(4 '리스빅' '[email protected]' 'IT')
(5 '수라즈' '[email protected]' '품질보증')
(6 '옴' '[email protected]' 'IT')
(7 '나루토' '[email protected]' '개발');
* GFG_Employee에서 선택
산출:
예 1: 단일 레코드 삭제
테이블에서 특정 행을 삭제하는 조건과 함께 DELETE 문을 사용할 수 있습니다. 그만큼 어디 조항은 의도한 레코드만 제거되도록 보장합니다. 아래 쿼리를 사용하여 Rithvik이라는 레코드를 삭제할 수 있습니다.
질문:
DELETE FROM GFG_Employees
WHERE NAME = 'Rithvik';
산출:
예 2: 여러 레코드 삭제
여러 레코드를 삭제하려면 여러 행과 일치하는 조건을 지정할 수 있습니다. 부서가 'Development'인 GFG_Employees 테이블에서 행을 삭제해 보겠습니다. 이렇게 하면 2개의 행(첫 번째 행과 일곱 번째 행)이 삭제됩니다.
질문:
크기 글꼴 라텍스
DELETE FROM GFG_Employees
WHERE department = 'Development';
산출
예 3: 테이블에서 모든 레코드 삭제
테이블에서 모든 레코드를 삭제해야 하는 경우 WHERE 절을 생략하거나 별표(*)가 있는 DELETE 문을 사용하여 모든 행을 표시할 수 있습니다.
질문:
DELETE FROM GFG_Employees;
Or
DELETE * FROM GFG_Employees;
산출:
테이블의 모든 기록이 삭제되며 표시할 기록이 남지 않습니다. GFG_Employees 테이블은 비어 있게 됩니다.
DELETE 작업 롤백
DELETE 문은 DML 작업이므로 문에서 실행될 때 롤백될 수 있습니다. 실수로 기록을 삭제했거나 프로세스를 반복해야 하는 경우 다음을 사용할 수 있습니다. 롤백 명령.
질문:
문자를 문자열로 변환하는 방법
START TRANSACTION;
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;
설명: ROLLBACK 명령은 DELETE 문에 의해 변경된 내용을 실행 취소하여 트랜잭션 중에 삭제된 레코드를 효과적으로 복원합니다.
퀴즈 만들기