집 >데이터 베이스 >MySQL 튜토리얼 >mysql 고급(21) 테이블 데이터 삭제
MySQL에서 데이터를 삭제하는 방법에는 DELETE 문과 TRUNCATE TABLE 문 두 가지 방법이 있습니다. DELETE 문은 WHERE를 통해 삭제할 레코드를 선택할 수 있습니다. TRUNCATE TABLE을 사용하면 테이블의 모든 레코드가 삭제됩니다. 따라서 DELETE 문이 더 유연합니다.
테이블의 모든 레코드를 지우려면 다음 두 가지 방법을 사용할 수 있습니다.
>
여기서 두 번째 레코드의 TABLE은 선택 사항입니다.테이블의 일부 레코드를 삭제하려면 DELETE 문만 사용할 수 있습니다.
DELETE FROM table1 TRUNCATE TABLE table1
DELETE FROM table1 WHERE ...;위 명령문은 실행 시 각 레코드를 검색합니다. 그러나 WHERE 조건이 항상 true이기 때문에 비교하지 않습니다. 최대 자동 증가 값을 유지할 수 있지만 모든 레코드를 스캔하므로 WHERE 절이 없는 DELETE보다 실행 비용이 훨씬 더 많이 듭니다.
DELETE는 표준 SQL 문과 달리 ORDER BY 및 LIMIT 절을 지원하므로 삭제할 레코드를 더 잘 제어할 수 있습니다. 예를 들어 WHERE 절로 필터링된 레코드 중 일부만 삭제하려면 LIMIT를 사용하면 됩니다. 마지막 몇 개의 레코드를 삭제하려면 ORDER BY와 LIMIT를 함께 사용할 수 있습니다. 이름이 "Mike"인 사용자 테이블의 처음 6개 레코드를 삭제한다고 가정합니다. 다음 DELETE 문을 사용할 수 있습니다:
DELETE FROM table1 WHERE 1;
일반적으로 MySQL은 어떤 6개의 레코드가 삭제되는지 확신하지 못합니다. 보다 안전하려면 ORDER BY를 사용하여 레코드를 정렬할 수 있습니다.
DELETE FROM users WHERE name = 'Mike' LIMIT 6;아름다운 글과 그림
위는 mysql Advanced(21) 테이블 데이터 삭제 내용입니다. 내용은 PHP 중국어 홈페이지(www.php.cn)를 주목해주세요!