여러 데이터베이스가 포함된 SQL 파일 분할

여러 데이터베이스가 포함된 SQL 파일 분할

최근에 여러 데이터베이스가 포함된 SQL 덤프 파일을 받았습니다. 이를 각 데이터베이스마다 하나씩 여러 .sql 파일로 쉽게 분할하는 데 사용할 수 있는 도구가 있습니까?

답변1

or 문이 .sql있는 일반 텍스트 파일 이라고 가정하면 다음 을 사용하여 이 작업을 효율적으로 수행할 수 있습니다 .CREATE SCHEMACREATE DATABASEsplit

$ split -p 'CREATE DATABASE' bigfile.sql splitsql_

그러면 각 파일이 발견된 명령문으로 시작되는 등 splitsql_aa의 새로운 파일 세트가 생성됩니다 .splitsql_abCREATE

매뉴얼 split:

NAME
     split -- split a file into pieces
[...]
     -p pattern
             The file is split whenever an input line matches pattern,
             which is interpreted as an extended regular expression.
             The matching line will be the first line of the next
             output file.  This option is incompatible with the -b and
             -l options.

관련 정보