많은 테이블이있는 데이터베이스가 있습니다. 테이블에서 데이터를 정리하고 싶습니다. 어떻게 할 수 있습니까? 데이터베이스의 모든 테이블에 루프 DELETE FROM table_name;
데이터베이스 테이블에서 모든 것을 청소하십시오.
감사를하고 같은
.
많은 테이블이있는 데이터베이스가 있습니다. 테이블에서 데이터를 정리하고 싶습니다. 어떻게 할 수 있습니까? 데이터베이스의 모든 테이블에 루프 DELETE FROM table_name;
데이터베이스 테이블에서 모든 것을 청소하십시오.
감사를하고 같은
.
또 다른 대안
Y하면 다시 만들 실행 OU는
다음
for table in $(mysql -N <<<"show tables from your_db")
do
mysql -N <<< "truncated $table"
done
처럼, 덤프 파일을 변경하면 리눅스를 사용하는 경우가
이이 bash는 스크립트에 의해 수행 할 수 있습니다 재설정 할 수 있도록하여 자동 증가를 재설정 할
한 가지 방법은 모든 SQL 문을 생성하는 스크립트를 만드는 것입니다.
echo "select concat('truncate ', table_name, ';') as '' from \
information_schema.tables where table_schema='YOURDATABASE';"\
|mysql -u USER -p > /tmp/truncate-all-tables.sql
이 작업을 수행하는 가장 간단한 방법은 DELETE를 발행하거나 .SQL 배치 파일이나 스크립트 언어를 통해 두 테이블 단위로 명령을 TRUNCATE하는 것입니다 : 여기에 리눅스를위한 버전입니다. (테이블 스키마 정보를 조사하여 사용할 수는 있지만 필요한 액세스 권한이 있는지 여부와 해당 테이블이 SELECT 가능한 명명 규칙을 따르는 지에 따라 적합하지 않을 수 있습니다.
덧붙여 말하면, DELETE를 사용하면 사용 된 디스크 공간을 회수하지 않으며 auto_increment 필드는 이전 ID를 기억합니다. (당신이 다시 디스크 공간을 얻을 1로 ID를 재설정 할 "TRUNCATE <table name>;
"를 사용합니다.)