phpMyAdmin에서 MYSQL 테이블의 모든 레코드 삭제
나는 wampserver 2.2를 사용합니다. phpMyAdmin (모두 선택)에서 테이블의 모든 레코드를 삭제하려면 모든 레코드가 아닌 하나의 레코드 만 삭제합니다. 모든 레코드가 삭제되지 않는 이유는 무엇입니까?
db-> 구조로 이동하여 필요한 테이블을 비 웁니다. 여기를 보아라:
당신은 두 가지 옵션이 있습니다 delete
과 truncate
:
delete from mytable
자동 증분 ID를 재설정하지 않고 테이블의 모든 내용을 삭제합니다.이 프로세스는 매우 느립니다. 특정 레코드를 삭제하려면 끝에 where 절을 추가하십시오.
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
'program tip' 카테고리의 다른 글
Swift의 날짜 형식 (0) | 2020.08.08 |
---|---|
click () 이벤트가 jquery에서 두 번 호출됩니다. (0) | 2020.08.08 |
Swift 3에서 사용자 지정 알림을 어떻게 생성합니까? (0) | 2020.08.08 |
NSAttributedString 추가 텍스트 정렬 (0) | 2020.08.08 |
Android 대화 상자 : 제목 표시 줄 제거 (0) | 2020.08.08 |