Excel での SQL データ管理
イントロ
「MySQL Workbench」は、テーブル、テーブル ダイアグラム (リレーション)、インデックス、ビュー、その他のオブジェクトを管理するための優れたツールだと思いますが、いくつかのバグとあまりフレンドリーでないユーザーのせいで、データの入力と管理は悪夢です。インターフェース..そのためだけにExcelドキュメントを作成しました
ユースケース
- 「MySQL Workbench」テーブルにデータをロード (インポート) したい場合
- 「PhpMyAdmin」の INSERT ステートメントを作成する場合
どちらの場合も、Excel ドキュメント内のデータを直接管理することになります。これは私が個人使用のために作成したツールであり、オプション 1 は決して使用しません。そのため、いくつかの制限が適用されます。
使用方法
出力ファイルの生成
Excelファイルと同じディレクトリに新しいファイルが作成されます。
ケース 1:
- Excelを開く
- 「ファイル名」を設定する
- 「ファイル拡張子」を「csv」に設定します
- 「SQL ステートメントを使用する...」を「いいえ」に設定します。
- 「ファイルを生成」ボタンをクリックします
ファイルは MySQL ワークベンチにインポートできます (現在の制限 - テーブルごとに異なるファイルを作成する必要があります!! )
ケース 2:
- Excelを開く
- 「ファイル名」を設定する
- 「ファイル拡張子」を「txt」に設定します
- 「SQL ステートメントを使用します。」を「はい」に設定します。
- 「ファイルを生成」ボタンをクリックします
このファイルを使用すると、たとえば、PhpMyAdmin ですべての SQL 挿入を実行できます。
ワークシート(テーブル)の作成
問題は、Excel にデータを入力するときに、テーブルに含まれる列を正確に把握しておく必要があることです。そこで、Excel に列名とともに新しい「ワークシート」を生成するヘルパー ボタンを作成しました。これにより、管理機能が向上します。
- 「MySQL ワークベンチ」に移動します
- テーブルのダイアグラムビューに移動します
- テーブルを右クリックし、「挿入テンプレートをクリップボードにコピー」というオプションを使用します。
- Excelドキュメントを開く
- 挿入テンプレートをフィールド「ステートメントの挿入」に貼り付けます。
- 「ワークシート(テーブル)を追加」ボタンをクリックします
PS: [挿入テンプレートをクリップボードにコピー] ボタンは常に次の形式のデータを生成します。
INSERT INTO `DATABASE`.`TABLE` (`COLUMN1`, `COLUMN2`, ...) VALUES (NULL, NULL, NULL, ...);
したがって、何らかの理由でワークベンチを使用できない場合は、(以下の規則を使用して) Excel ワークシートを自分で作成するか、「挿入ステートメント テンプレート」を自分で作成することができます。
慣例
- Excel には常に「メイン」ワークシートがあり、リストの最初に置かれます。
- データを正しく生成するには、ワークシート (非メイン) の名前がテーブル名と一致する必要があります。
- メイン以外のワークシートでは、行 1 には値 NUMBER を指定できます。これにより、生成された値に一重引用符が使用されなくなります。
- メイン以外のワークシートでは、行 2 がデータワースのデフォルト値です。したがって、データ行に値を指定しない場合 -> デフォルト値は「行 2」から取得されます。
- メイン以外のワークシートでは、行 3 は MySQL テーブルの単なる列名です。これは単にあなた自身の便宜のためです。何の影響もありません。
- メイン以外のワークシート - 行 4 以上。これらはデータを含む行です。
- 行 1 に「NUMBER」を入力していないすべてのデータ行について、スクリプトは自動的に値を一重引用符で囲みます。
- データ セルの値に二重引用符を使用していますか。 記号を使用して自動的にエスケープされるため、「」は「」になります。
貢献する
プロジェクトに貢献したい開発者の方は、Excel 自体で VBA を変更した後、VBA モジュールを別の .BAS ファイルにエクスポートしてコミットすることを忘れないでください。これにより、変更が追跡されます。