.sql 파일 일괄 가져오기

.sql 파일 일괄 가져오기

가져올 디렉토리에 .sql 파일이 많이 있습니다. 이 작업을 수동으로 수행할 수도 있지만 스크립팅 목적으로 일괄 적용할 수 있어야 합니다. 어떻게 해야 하나요? 어떤 옵션과 명령 조합이 필요합니까?

mysqlimport 명령은 다음과 같습니다:

mysqlimport [options] db_name textfile1 [textfile2 ...]

모든 텍스트 파일을 끝에 추가할 수 있어야 합니다. 가능하다면 복잡한 for 루프보다 명령을 선호합니다.

어떤 제안이 있으십니까?

답변1

와일드카드 사용:

mysqlimport [options] db_name /path/to/sql/files/*

디렉터리에 SQL이 아닌 파일이 있는 경우 파일 이름의 일부 부분은 가져오려는 파일의 하위 집합과 동일할 수 있습니다. 예를 들어, 둘 다 다음으로 끝나는 경우 .sql:

mysqlimport [options] db_name /path/to/sql/files/*.sql

DOS/Windows에서 왔다면 이 작업이 수행되는 이유를 모를 수도 있습니다. Unixy 시스템에서 쉘은 와일드카드를 확장하므로 프로그램( mysqlimport이 경우)은 자체 처리를 수행할 필요가 없습니다. 그렇기 때문에 인용한 사용법 메시지에 파일이 개별적으로 제공되기를 원한다고 나와 있습니다. 위 명령을 사용하면 파일이 그렇게 표시됩니다. 패턴이 일치하지 않는 경우 프로그램은 와일드카드만 확인하고 쉘은 이를 프로그램에 그대로 전달하며 이를 처리하는 더 좋은 방법은 없습니다.

관련 정보