このページはCalíope 1.7を紹介しています。私がいま作っているバージョンです。1.6は、Mac、iPad、iPhone、Apple Watch、Apple TV、Apple Vision Pro向けにApp Storeで公開中です。それぞれの機能がどのバージョンで入ったかは変更履歴に書いてあります。

すべてのトピックに「Calíopeで開く」ボタンを追加します。アプリがインストールされている場合にのみ機能します。

データの読み込み

CSV、JSON、Excelからデータを読み込む

CSV、JSON、Excel(.xlsx)ファイルのデータを、3ステップの読み込みウィザードでテーブルに直接読み込みます。

場所: スキーマツリー › 右クリック › データを読み込む…

「データの読み込み」ウィザードは、SQLを書かずに、ファイルからテーブルに行を挿入します。

開き方:スキーマツリーでテーブルのコンテキストメニューを開き、「データを読み込む…」を選びます。そのテーブルが読み込み先になります。

ステップ1:ファイル
- 「ファイルを選択…」を押し、.csv、.json、.xlsxのいずれかを選びます。
- CSV:カンマ区切りで、RFC 4180の引用符に対応します。引用符で囲んだフィールドには、カンマや改行を含められます。1行目は列名です。
- JSON:オブジェクトの配列([{"col": value}, …])。キーが列名です。
- Excel(.xlsx):最初のシートを読み込み、その1行目が列名です。

ステップ2:列:ファイルの各列を、テーブルの列に割り当てるか、無視します(「読み込みでの列の対応付け」を参照)。CSVやシートの1行目が列名でない場合は、「1行目を見出しとして扱う」をオフにします。列には番号が振られ、その行もほかの行と一緒に読み込まれます。

ステップ3:読み込み
- 重複の扱い方がサーバで複数選べる場合は、モードを選びます(「読み込みモード」を参照)。1つしかない場合は選ぶものがないため、ピッカーは表示されません。
- バッチサイズを選びます。1つのSQL文あたり100行、500行(デフォルト)、1000行のいずれかです。
- 「読み込む」を押します。バーにバッチごとの進行状況が表示され、最後に、読み込まれた行の数と、エラーがあればそのエラーが表示されます。

macOS、iPad、iPhone、Apple Vision Proで使えます。

キーワード: 読み込み、CSV、JSON、Excel、XLSX、データ、読み込む、ウィザード、ファイル、行、テーブル、挿入

読み込みでの列の対応付け

読み込みウィザードのステップ2で、元のファイルの列を読み込み先のテーブルの列に割り当てる方法。

場所: スキーマツリー › 右クリック › データを読み込む…

ウィザードのステップ2では、ファイルの各列をテーブルのどの列に入れるかを決めます。

- 各行はファイルの1つの列を表し、右側のピッカーには読み込み先のテーブルの列が表示されます。
- テーブルの列と完全に同じ名前(大文字・小文字も含む)の列は、最初から割り当てられています。それ以外は「無視」から始まります。入れる先があるなら、手動で割り当ててください。
- 「無視」にすると、その列は読み込まれません。ファイルにテーブルより多くの列がある場合や、サーバが自分で生成する識別子を飛ばしたい場合に便利です。

読み込む前に、デフォルト値のないNOT NULLの列すべてに、ファイルの列が割り当てられていることを確認してください。そうでないと、サーバはそれらの行を拒否します。

キーワード: 対応付け、列、割り当て、無視、見出し、読み込み元、読み込み先、読み込み、CSV、JSON、XLSX

読み込みモード:重複をどうするか

行が主キーや一意キーと衝突したとき:失敗させるか、スキップするか、既存の行を置き換えるか。選べるものはサーバによって異なります。

場所: スキーマツリー › 右クリック › データを読み込む…

ウィザードのステップ3では、ファイルの行が既存の主キーや一意キーと衝突したときにどうするかを選びます。ウィザードは、サーバが従えるモードだけを表示します。

「挿入」(すべてのサーバ。「重複をスキップ」が表示される場合、ウィザードは最初はそちらを選んでいます):衝突したバッチのSQL文は失敗し、読み込みはその旨を表示します。重複があるはずがなく、あるなら知りたい場合に使います。

「重複をスキップ」:衝突した行は捨てられ、残りは続行されます。一部がすでにテーブルにあるファイルを読み込むのに便利です。

「重複を置き換える」:既存の行が削除され、ファイルの行が入ります。削除のトリガーが発動すること、そしてファイルにない列はデフォルト値に戻ることに注意してください。

MySQLMariaDBAuroraTiDB

3つすべてが表示されます。

PostgreSQL

「挿入」と「重複をスキップ」が表示されます。置き換えはありません。

SQL ServerOracleClickHouse

「挿入」だけなので、ピッカーは表示されません。

macOS、iPad、iPhone、Apple Vision Proで使えます。

キーワード: INSERT、INSERT IGNORE、REPLACE、重複、衝突、主キー、一意キー、モード、読み込み、REPLACE INTO