MySQL DELETE 문은 데이터베이스에 더 이상 필요하지 않은 MySQL 테이블에서 레코드를 제거하는 데 사용됩니다. MySQL의 이 쿼리는 테이블에서 전체 행을 삭제하고 삭제된 행 수를 생성합니다. . 또한 단일 쿼리 내에서 테이블에서 둘 이상의 레코드를 삭제할 수 있으므로 테이블에서 많은 수의 레코드를 제거하는 데 유용합니다. delete 문을 사용하면 조건에 따라 데이터를 삭제할 수도 있습니다.
이 쿼리를 사용하여 레코드를 삭제하면 복구할 수 없습니다. . 따라서 테이블에서 레코드를 삭제하기 전에 다음을 수행하는 것이 좋습니다. 데이터베이스 백업을 생성하세요 . 데이터베이스 백업을 통해 나중에 필요할 때마다 데이터를 복원할 수 있습니다.
통사론:
다음은 DELETE 문을 사용하는 방법을 보여 주는 구문입니다.
DELETE FROM table_name WHERE condition;
위 명령문에서는 먼저 데이터를 삭제하려는 테이블 이름을 지정해야 합니다. 둘째, 선택사항인 WHERE 절에 레코드 삭제 조건을 지정해야 합니다. 명령문에서 WHERE 절을 생략하면 이 쿼리는 데이터베이스 테이블에서 전체 레코드를 제거합니다.
단일 DELETE 쿼리를 사용하여 여러 테이블에서 레코드를 삭제하려면 다음을 추가해야 합니다. 가입하다 절 DELETE 문으로.
삭제된 행의 개수를 모르고 테이블에서 모든 레코드를 삭제하려면 다음을 사용해야 합니다. 테이블 자르기 더 나은 성능을 제공하는 진술입니다.
DELETE 문이 어떻게 작동하는지 이해해 봅시다. MySQL 다양한 사례를 통해.
MySQL DELETE 문 예
여기서는 '직원' 그리고 '지불' DELETE 문의 데모를 위한 테이블입니다. 직원 및 지불 테이블에 다음 데이터가 포함되어 있다고 가정합니다.
해당 직원을 삭제하고 싶다면 emp_id는 107입니다. , WHERE 절과 함께 DELETE 문을 사용해야 합니다. 아래 쿼리를 참조하세요.
mysql> DELETE FROM Employees WHERE emp_id=107;
쿼리를 실행하면 아래 이미지와 같은 출력이 반환됩니다. 레코드가 삭제되면 SELECT 문을 사용하여 테이블을 확인합니다.
테이블에서 모든 레코드를 삭제하려면 DELETE 문과 함께 WHERE 절을 사용할 필요가 없습니다. 아래 코드와 출력을 참조하세요.
위 출력에서 모든 행을 제거한 후 Employees 테이블이 비어 있음을 확인할 수 있습니다. 이는 선택한 테이블에 사용 가능한 레코드가 없음을 의미합니다.
MySQL DELETE 및 LIMIT 절
MySQL Limit 절은 테이블의 전체 레코드를 가져오는 대신 결과 집합에서 반환되는 행 수를 제한하는 데 사용됩니다. 때때로 우리는 테이블에서 삭제될 행의 수를 제한하고 싶을 때가 있습니다. 이 경우 우리는 한계 조항은 다음과 같습니다:
DELETE FROM table_name WHERE condition ORDER BY colm1, colm2, ... LIMIT row_count;
MySQL 테이블의 행 순서는 지정되지 않습니다. 그러므로 우리는 항상 다음을 사용해야 한다. 주문 LIMIT 절을 사용하는 동안 절.
예를 들어 , 다음 쿼리는 먼저 이름에 따라 직원을 알파벳순으로 정렬하고 테이블에서 처음 세 명의 직원을 삭제합니다.
mysql> DELETE FROM Employees ORDER BY name LIMIT 3;
다음과 같은 결과가 출력됩니다.
MySQL DELETE 및 JOIN 절
JOIN 절은 MySQL에서 두 개 이상의 테이블을 추가하는 데 사용됩니다. 단일 쿼리 내에서 여러 테이블의 레코드를 삭제하려고 할 때마다 DELETE 문과 함께 JOIN 절을 추가합니다. 아래 쿼리를 참조하세요.
mysql> DELETE Employees, Payment FROM Employees INNER JOIN Payment ON Employees.emp_id = Payment.emp_id WHERE Employees.emp_id = 102;
산출:
크롬 주소 표시줄
실행 후 아래 이미지와 같은 출력이 표시됩니다.
JOIN 절이 포함된 DELETE 문에 대한 자세한 내용을 읽으려면 여기를 클릭하세요 .