
インポートするディレクトリには.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
この場合)は独自の処理を実行する必要はありません。そのため、引用した使用法メッセージにファイルを個別に提供したいと思います。上記のコマンドを使用すると、ファイルがそのように表示されます。パターンが一致しない場合、プログラムはワイルドカードのみをチェックし、シェルはそれをプログラムにそのまま渡し、それを処理するより良い方法はありません。