[MySQL] DELETE FROM
2024. 8. 9. 22:17ㆍMySQL/SQL 기본
DELETE는 행 단위로 삭제를 한다.
DELETE [ LOW_PRIORITY ] [ QUICK ] [ IGNORE ] FROM table
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
[LIMIT number_rows];
만약 WHERE문이 생략되면 전체 데이터를 삭제한다. 'Aamer'을 삭제하려면 다음과 같이 하면 된다.
USE sqldb;
DELETE FROM testTbl4 WHERE Fname = 'Aamer';
만약 Aamer 중에서 상위 5건만 삭제하고 싶으면 LIMIT을 추가하면 된다.
DELETE FROM testTbl4 WHERE Fname = 'Aamer' LIMIT 5;
대용량 테이블 삭제
테이블 삭제는 DELETE, DROP, TRUNCATE를 사용할 수 있다.
DELETE FROM bigTbl1;
DROP TABLE bigTbl2;
TRUNCATE TABLE bigTbl3;
그런데 각각 수행 시간이 다르다. 유달리 DELETE만 시간이 많이 잡아먹는다. 트랜잭션 로그를 기록하기 때문인데 이 때문에 테이블 구조를 남기고 싶으면 TRUNCATE는, 테이블 자체가 필요없을 경우에는 DROP을 사용하면 된다.
'MySQL > SQL 기본' 카테고리의 다른 글
[MySQL] 데이터 형식 변환 함수 (0) | 2024.08.13 |
---|---|
[MySQL] 변수 (0) | 2024.08.12 |
[MySQL]UPDATE문 (0) | 2024.08.08 |
[MySQL] 집계 함수 (0) | 2024.08.05 |
[MySQL]SELECT문 (0) | 2024.08.04 |