sqlite delete 예제

By 2019. augusztus 2. Egyéb No Comments

WHERE가 DELETE 문에서 생략되고 삭제되는 테이블에 트리거가 없는 경우 SQLite는 최적화를 사용하여 테이블의 각 행을 개별적으로 방문하지 않고도 전체 테이블 내용을 지웁니다. 이 “truncate” 최적화를 사용하면 삭제가 훨씬 빠르게 실행됩니다. SQLite 버전 3.6.5 (2008-11-12) 이전에는 truncate 최적화가 sqlite3_changes() 및 sqlite3_total_changes() 인터페이스와 count_changes pragma가 실제로 삭제된 행 수를 반환하지 않음을 의미합니다. 이 문제는 버전 3.6.5(2008-11-12)로 수정되었습니다. 명령을 실행하면 테이블이 데이터베이스에서 완전히 제거되고 빈 테이블을 다시 만들어야 합니다. SQLite의 테이블에서 모든 데이터를 삭제하는 몇 가지 옵션을 고려했으며 다음에이 문제를 해결할 때 DELETE 명령과 DROP TABLE 명령이라는 두 가지 방법을 사용하여 해결할 수 있습니다. 대신 SQLite 작성자는 DELETE 문에 TRUNCATE 기능을 추가했습니다. 이 명령을 사용하여 하나 또는 모든 행을 삭제하는 원칙은 다릅니다. SQLite 테이블의 모든 행을 제거하려면 다른 명령을 수행하기만 하면됩니다.

데이터베이스 트랜잭션이라는 용어는 SQLite 작업(삽입 또는 업데이트 또는 삭제)의 목록입니다. 데이터베이스 트랜잭션은 모든 작업이 성공적으로 실행되거나 전혀 실행되지 않는 하나의 단위로 실행되어야 합니다. 그 중 하나가 실행되지 않으면 모든 작업이 취소됩니다. WHERE 절이 없는 경우 테이블의 모든 레코드가 삭제됩니다. WHERE 절이 제공되면 WHERE 절 부울 식이 true인 행만 삭제됩니다. 식이 false 또는 NULL인 행은 유지됩니다. SQLite DELETE 쿼리는 지정된 테이블에서 기존 레코드를 제거하는 데 사용됩니다. DELETE 쿼리가 있는 WHERE 절을 사용하여 선택한 행을 삭제할 수 있습니다. SQLite DELETE 명령에서 단일 테이블에서 하나 이상의 행을 삭제하거나 제거하는 데 사용됩니다. 행이 테이블에서 완전히 삭제됩니다.

“StudentId = 11 OR StudentId = 12″라는 표현은 ID 11 및 12가 있는 학생에 대해서만 true가 됩니다.