logo

MySQL DELETE 문

MySQL DELETE 문은 데이터베이스에 더 이상 필요하지 않은 MySQL 테이블에서 레코드를 제거하는 데 사용됩니다. MySQL의 이 쿼리는 테이블에서 전체 행을 삭제하고 삭제된 행 수를 생성합니다. . 또한 단일 쿼리 내에서 테이블에서 둘 이상의 레코드를 삭제할 수 있으므로 테이블에서 많은 수의 레코드를 제거하는 데 유용합니다. delete 문을 사용하면 조건에 따라 데이터를 삭제할 수도 있습니다.

이 쿼리를 사용하여 레코드를 삭제하면 복구할 수 없습니다. . 따라서 테이블에서 레코드를 삭제하기 전에 다음을 수행하는 것이 좋습니다. 데이터베이스 백업을 생성하세요 . 데이터베이스 백업을 통해 나중에 필요할 때마다 데이터를 복원할 수 있습니다.

통사론:

다음은 DELETE 문을 사용하는 방법을 보여 주는 구문입니다.

 DELETE FROM table_name WHERE condition; 

위 명령문에서는 먼저 데이터를 삭제하려는 테이블 이름을 지정해야 합니다. 둘째, 선택사항인 WHERE 절에 레코드 삭제 조건을 지정해야 합니다. 명령문에서 WHERE 절을 생략하면 이 쿼리는 데이터베이스 테이블에서 전체 레코드를 제거합니다.

단일 DELETE 쿼리를 사용하여 여러 테이블에서 레코드를 삭제하려면 다음을 추가해야 합니다. 가입하다 DELETE 문으로.

삭제된 행의 개수를 모르고 테이블에서 모든 레코드를 삭제하려면 다음을 사용해야 합니다. 테이블 자르기 더 나은 성능을 제공하는 진술입니다.

DELETE 문이 어떻게 작동하는지 이해해 봅시다. MySQL 다양한 사례를 통해.

MySQL DELETE 문 예

여기서는 '직원' 그리고 '지불' DELETE 문의 데모를 위한 테이블입니다. 직원 및 지불 테이블에 다음 데이터가 포함되어 있다고 가정합니다.

mysql 삭제 쿼리
mysql 삭제 쿼리

해당 직원을 삭제하고 싶다면 emp_id는 107입니다. , WHERE 절과 함께 DELETE 문을 사용해야 합니다. 아래 쿼리를 참조하세요.

 mysql> DELETE FROM Employees WHERE emp_id=107; 

쿼리를 실행하면 아래 이미지와 같은 출력이 반환됩니다. 레코드가 삭제되면 SELECT 문을 사용하여 테이블을 확인합니다.

mysql 삭제 쿼리

테이블에서 모든 레코드를 삭제하려면 DELETE 문과 함께 WHERE 절을 사용할 필요가 없습니다. 아래 코드와 출력을 참조하세요.

mysql 삭제 쿼리

위 출력에서 ​​모든 행을 제거한 후 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 삭제 쿼리

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; 

산출:

크롬 주소 표시줄

실행 후 아래 이미지와 같은 출력이 표시됩니다.

mysql 삭제 쿼리

JOIN 절이 포함된 DELETE 문에 대한 자세한 내용을 읽으려면 여기를 클릭하세요 .