program tip

phpMyAdmin에서 MYSQL 테이블의 모든 레코드 삭제

radiobox 2020. 8. 8. 12:18
반응형

phpMyAdmin에서 MYSQL 테이블의 모든 레코드 삭제


나는 wampserver 2.2를 사용합니다. phpMyAdmin (모두 선택)에서 테이블의 모든 레코드를 삭제하려면 모든 레코드가 아닌 하나의 레코드 만 삭제합니다. 모든 레코드가 삭제되지 않는 이유는 무엇입니까?


db-> 구조로 이동하여 필요한 테이블을 비 웁니다. 여기를 보아라:

이 스크린 샷


당신은 두 가지 옵션이 있습니다 deletetruncate:

  1. delete from mytable

    자동 증분 ID를 재설정하지 않고 테이블의 모든 내용을 삭제합니다.이 프로세스는 매우 느립니다. 특정 레코드를 삭제하려면 끝에 where 절을 추가하십시오.

  2. truncate myTable

    이렇게하면 테이블이 재설정됩니다. 즉 모든 자동 증분 필드가 재설정됩니다. 그것의 DDL과 그것의 매우 빠릅니다. 를 통해 특정 레코드를 삭제할 수 없습니다 truncate.


Sql 탭으로 이동하여 아래 쿼리 중 하나를 실행합니다.

delete from tableName;

삭제 : 표에서 모든 행을 삭제합니다. 다음 삽입은 다음 자동 증분 ID를 사용합니다.

또는

truncate tableName;

Truncate : 또한 테이블에서 행을 삭제하지만 1로 새 행에서 시작합니다.

예제가있는 자세한 블로그 : http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/


이 쿼리를 사용하십시오.

DELETE FROM tableName;

참고 : 일부 특정 레코드를 삭제하려면 쿼리의 where 절에 조건을 지정할 수도 있습니다.

또는이 쿼리를 사용할 수도 있습니다.

truncate tableName;

또한 다른 테이블과 관계가 없어야 함을 기억하십시오. 테이블에 외래 키 제약이있는 경우 해당 레코드는 삭제되지 않고 오류가 발생합니다.


이 명령으로 모든 행을 삭제할 수 있지만, 한 번 잘라 내기 명령을 사용하면 롤백 할 수 없다는 점을 기억하십시오.

  truncate tableName;

'Truncate tableName'은 키 제약 조건이 정의 된 테이블에서 실패 합니다. 또한 테이블 AUTO_INCREMENT값을 다시 색인화하지 않습니다 . 대신 다음 SQL 구문을 사용하여 모든 테이블 항목을 삭제하고 인덱싱을 다시 1로 재설정하십시오.

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1

흥미로운 사실입니다.

TRUNCATE가 항상 더 잘 수행 될 것이라고 확신했지만 제 경우에는 외래 키가있는 약 30 개의 테이블이 있고 단 몇 개의 행으로 채워진 db의 경우 수백 밀리 초가 아니라 모든 테이블을 TRUNCATE하는 데 약 12 ​​초가 걸렸습니다. 행을 삭제합니다. 자동 증분을 설정하면 총 약 1 초가 추가되지만 여전히 훨씬 좋습니다.

그래서 나는 둘 다 시도해보고 어떤 것이 귀하의 경우에 더 빨리 작동하는지 확인하는 것이 좋습니다.


쿼리 작성 : truncate 'Your_table_name';

참고 URL : https://stackoverflow.com/questions/18271951/delete-all-records-in-a-table-of-mysql-in-phpmyadmin

반응형