MySQL インポート SQL ファイルを簡単な言葉で
公開: 2022-11-24この記事は主に、十分な技術的背景を持つデータベースの専門家または愛好家を対象としており、SQL ファイルを MySQL データベースにインポートする方法をわかりやすく説明しています。
さらに、この記事の読者は、SQL ファイルを MySQL データベースにインポートする複数の方法を知っているでしょう。
この記事では、ファイルのインポートやその他の重要なデータベース関連の要件などのタスクを高速化するための適切なツールを使用することの重要性についても強調しています。特に、ビジネス仕様や内部要件に従ってこれらの手順を自動化する場合はそうです。
MySQL へのファイルのインポートについて
以下を含むいくつかの理由で、MySQL インポート SQL (ファイル) を実行します。
- ファイルベースのアプローチを使用して (ターゲット データベースに対して直接実行するスクリプトを使用するのではなく、ファイルから) MySQL データベース テーブルにデータを入力したいと考えています。
- スクリプト全体を含むファイルからデモまたはテスト データベースを構築して、データベースとそのオブジェクトをセットアップし、テーブルに入力することに関心があります。
- さまざまなソースからのデータを単一のデータベースにマージしたいのですが、そのようなソースの 1 つは、MySQL データベースにインポートされるファイルで利用可能なデータです。
- スクリプト化されたファイルに統合され、複数の環境に分散される特定のデータベース管理タスクを実行したい
インポートできるさまざまな種類のファイル
MySQL にインポートできる最も一般的に使用されるファイルまたはデータ ソースの一部は次のとおりです。
- 文章
- CSV (カンマ区切り)
- エクセル
- XML
- JSON
- ODBC
- Google スプレッドシート
- DBF
ただし、上記のすべての種類のファイルには、MySQL データベースが理解および解釈するために必要なコード (互換性のある形式/構造) が含まれている必要があります。サーバ。
MySQL インポート SQL ファイルについて
同じ目的を達成する方法は他にもたくさんあるため、これはあまり一般的なデータ インポート方法ではありませんが、SQL ファイルを MySQL データベースにインポートする正当な理由がある場合があります。
このタイプのインポートの背後にあるいくつかの強力な理由は、次のような多くの職業生活のシナリオで正当化できます。
- MySQL データベース コードをあるシステムから共有フォルダに (SQL として) エクスポートした後、別のシステム (MySQL データベース サーバー) にインポートするというビジネス要件があるとします。
- 顧客から共有フォルダーに生成された SQL スクリプトを受け取り、それを顧客用に維持しているメイン ストリーム データベースに転送できます。
- 非常に動的なトランザクション テーブルの SQL ベースのファイル更新を自動化したい場合は、SQL を MySQL データベースにインポートする必要があります。
- SQL ファイルをフラッシュ (ダンプ) することしかできない MySQL データベース システムによって制限されます。SQL ファイルは、更新およびメンテナンスの目的でターゲットの MySQL データベースにインポートできます。
- SQL を MySQL データベースに再度インポートするには、特別な要件がある場合があります。
SQL を MySQL データベースにインポートするためのツール/アプローチ
SQLファイルをMySQLデータベースにインポートする方法は複数ありますが、特に時間と労力を最適化する必要があり、需要が高く忙しい中で自動化が好ましい方法である場合に、そのような目的を達成するために使いやすい独自のデータベースツールを使用することもできますプロの環境。
次の方法で SQL ファイルをインポートできます。
- コマンド プロンプトを使用して SQL ファイルをターゲット MySQL データベースにインポートする
- dbForge Studio for MySQLなどの独自のデータベース開発ツールを使用する
前提条件
この記事では、次のことを前提としています。
- サンプルの実行に関心のある読者は、データベース スクリプトの基本に精通しています。
- MySQL は既にマシンにインストールされています (インストールされていない場合は、MySQL の公式 Web サイトを確認するか、ダウンロード リンクをクリックしてください) 。
- MySQL はすでにローカルで構成されており、サーバーが実行されています (root パスワードを含む構成の機密情報を知っている場合)
MySQL 用の dbForge スタジオ
この記事では、プロのシナリオをカバーするメイン ストリームの例を含むデモンストレーションのほとんどに dbForge Studio for MySQL を使用していますが、MySQL コマンド ライン クライアントのみを必要とする例は、このツールと一緒にこのツールをインストールしていなくても機能することに注意してください。このツールをインストールする必要がある最後の例は例外です。
SQL ファイルと DbForge Studio for MySQL の処理
SQL 形式のファイルは、片側にデータベース/テーブル作成スクリプトを含むことができ、反対側に INSERT、UPDATE、REPLACE などのステートメントを含めることができるため、互いに大きく異なる可能性があることに注意してください。 Studio は、さまざまなコンテンツを含むこれらのファイルを処理および処理する方法を認識しています。
ターゲット デモ データベースのセットアップ (itsalesdemo)
さらなる実装に移る前に、まず MySQL ローカル サーバーにターゲット デモ データベースをセットアップする必要があります。
このターゲット データベースは、データベースの既存のテーブルのデータを含む SQL ファイルをインポートするために使用されます。
次に示すように、dbForge Studio for MySQL を開き、メイン メニューから [データベース] をクリックしてから [新規データベース] をクリックして、「itsalesdemo」というデモ データベースを作成します。
このデータベースにitsalesdemoという名前を付けて、 Apply Changesをクリックします。
データベース エクスプローラーを更新して、新しくセットアップされたデモ データベースを確認します。
これまでのところ、これは空のデータベースなので、 monthlysaleテーブルというテーブルを追加する必要があります。
または、デモ データベースに対して次のスクリプトを使用して、新しいオブジェクト (テーブル) を追加することもできます。
CREATE TABLE itsalesdemo.monthlysale (
SaleId int NOT NULL AUTO_INCREMENT、
SellingDate 日時 DEFAULT NULL,
顧客 varchar(255) DEFAULT NULL,
Product varchar(255) DEFAULT NULL,
TotalPrice decimal(10, 2) DEFAULT NULL,
主キー (SaleId)
)
エンジン = INNODB、
自動インクリメント = 4、
キャラクターセットutf8mb4、
COLLATE utf8mb4_0900_ai_ci;
monthsale テーブル データを表示する
テーブルを右クリックし、[データの取得] をクリックして、月次販売テーブルの行を表示します。
出力は空です:
共通共有フォルダーに 1 行の SQL ファイルを配置する
テーブルmonthlysaleの新しいレコードを1つ含む、次のスクリプトを使用してSQLファイルを作成しましょう。
— monthsale テーブルにインポートされる行 1
INSERT INTO monthsale(SaleId, SellingDate, Customer, Product, TotalPrice) VALUES
(1, '2022-01-01 10:00:00', 'Asif', 'Black Laptop', 230.00);
ファイルをSaleData01.sqlとして保存し、C:\SQLShare などのマシン上のアクセス可能な場所に配置します。
コマンド プロンプトを使用して SQL ファイルをターゲット MySQL データベースにインポートする
Window+R を押してコマンド プロンプトを開き、次のように cmd と入力します。
次に、次のコマンドを発行して Enter キーを押して、MySQL の下の bin フォルダーを見つけます。
cd\プログラム ファイル\mysql\mysql サーバー 8.0\bin
出力は次のようになります。
ここで、前に SQLShare フォルダーに配置した SQL ファイルを、テーブル MonthlySale の新しいレコードを含むデモ ターゲット データベースにインポートするコマンドを実行する必要があります。
次のコマンドを入力してから、Enter キーを押してください。
Mysql -u root -p itsalesdemo < “C:\SQLShare\SaleData01.sql”
ここで、u は root であるユーザー名、p は次に尋ねられるパスワード、itsalesdemo はターゲット データベース、右側はターゲット データベースにインポートされる SQL ファイルの場所です。
MySQL の構成時に設定した root ユーザーのパスワードを入力します。
これが正常に完了したら、dbForge Studio for MySQL のテーブル ビュー (データの取得) に戻り、[更新] をクリックしてください。
次に、次のスクリプトを含む SaleData02.sql というファイルをもう 1 つ追加します。
— ITSalesDemo データベースの monthsale テーブルにインポートされる行 2
INSERT INTO monthsale(SaleId, SellingDate, Customer, Product, TotalPrice) VALUES
(2, '2022-01-02 10:00:00', 'ピーター', '青いラップトップ', 250.00);
ファイルを同じフォルダーに配置します。
コマンド プロンプトで次のコマンドを実行します。
Mysql -u root -p itsalesdemo < “C:\SQLShare\SaleData02.sql”
テーブルを更新します。
SQL ファイルから 2 行目をデータベースの目的のテーブルにインポートしました。
MySQL dbForge Studio for MySQL を使用して SQL ファイルをインポートする
これは、プロセスを自動化したい場合に非常に役立ちます。dbForge Studio for MySQL には、目的のデータベース テーブルにデータをインポートするために行うアクションのコマンド ライン スクリプトを作成する機能も備わっているからです。
dbForge を使用して、次の目的を達成できます (ただし、これらに限定されません)。
- dbForge Studio for MySQL を使用してソース システム (データベース) から SQL にデータをエクスポートし、MySQL コマンド プロンプト メソッドを使用して別のデータベースにデータをインポートします。
- データベースの復元オプションとして SQL ファイルをインポートし、プロセスを自動化する
dbForge Studio for MySQL でデータベースの復元オプションを使用して SQL ファイルをインポートする方法について説明します。
毎月の販売テーブルをリセット
monthsale テーブルを右クリックし、[ Truncate table ] をクリックしてテーブルからすべてのデータを削除します。
これ以上行がないため、テーブルのデータを更新します。
以下に示すように、データベースの復元オプションを選択してください。
SaleData01.sql ファイルを選択し、[復元] をクリックします。
次の出力は、復元のステータスを示しています。
テーブルを更新します。
SQL ファイルからテーブルに行を正常に挿入しました。
SaleData02.sql に対して復元プロセスを再実行すると、テーブルに 2 番目の行が追加されることに注意してください。
Studio の BACKUP/RESTORE オプションは、完全なデータベース コピー、テーブル コピー、またはデータ ダンプを処理できることに注意してください。
dbForge Studio for MySQL を使用してインポート プロセスを自動化する
最後に、復元プロセス中にコマンド ライン ステートメントを保存する機会が得られます。これは、プロセスを自動化する方法です (スケジュールされたタスクでコマンド ライン ステートメントを使用して、必要に応じて自動的に実行します)。
データベース復元ウィザードに戻り、SQL (スクリプト) インポートの 1 つを選択した後、dbForge Studio for MySQL で[コマンド ラインの保存... ] をクリックします。
これにより、復元 SQL オプションのコマンド ライン バージョンがすぐに得られ、安全な場所に保存することもできます。
ファイルが正常に保存されたら。 タスクスケジューラを開いてください
「AutomateImportSQLSales」という名前を付けて、基本的なタスクを作成します。
復元スクリプト (以前に保存したもの) を新しいアクションとして追加し、[OK] をクリックします。
スケジューラ タスクに追加したら、要件に応じて、毎日または毎週実行するようにスケジュールするだけです。
ツールチップ
dbForge Studio for MySQL は、メモリにロードせずに大きな SQL スクリプトを実行できることを覚えておいてください。これは、特に大きな SQL データ スクリプト (インポート用) を扱う場合に非常に便利な機能です。
おめでとう! 職業生活のシナリオで使用するヒントを念頭に置いて、SQL ファイルを MySQL データベースにインポートする複数の方法を学習しました。
やる事
MySQL インポート SQL ファイルに慣れてきたので、スキルを向上させるために次のことを試してください。
- SQL ファイルをインポートして何百、何千行も追加してみて、データが増えるとパフォーマンスが低下するかどうかを確認してください。
- この記事を念頭に置いて、複数の SQL ファイルを複数の場所から 1 つのテーブルにインポートしてください。
- dbForge Studio for MySQL によって生成されたコマンド ライン スクリプトを使用し、それを Windows タスクとしてスケジュールして、SQL インポート メソッドを自動化してみてください。
また読む: 2015年にすべてのWordPress Webサイトに必要な上位10のプラグイン