本文へスキップ

毎日 TablePro をお使いですか?ライセンスで有料機能が使え、次のリリースを支えられます。 ライセンスを購入ライセンスで TablePro を支援

インポート、エクスポートとデータファイル

ファイルとデータベースの間でデータを移すための機能です。スプレッドシートをテーブルに読み込み、クエリ結果を Excel で渡し、CSV を使う前に整え、危険な変更の前にダンプを取得できます。ここで紹介するのは Mac アプリの機能です。最後の節では iPhone と iPad で使える一部の機能を説明します。
MaciPhone・iPad

このページの機能はすべて無料です。

ファイルをテーブルにインポート

⌘⇧I で CSV、TSV、JSON、JSONL、XLSXとSQL ファイルをインポートします。SQL ファイルは文として実行し、.sql.gz ダンプや GO で区切った SQL Server スクリプトにも対応します。他の形式は既存テーブル、またはファイル名で新規作成したテーブルに読み込み、カラムもファイルから取得します。Excel ブックは最初のシートをインポートします。

各フィールドをカラムに対応付け、無効にしない限りインポートを一つのトランザクションで実行します。行が失敗したときは、停止してロールバック、停止してインポート済みデータを保持、行をスキップして続行から選べます。スキップした行のレポートを CSV として保存できます。

CSV ファイルを orders テーブルに取り込むインポートシート。ファイルの各列がテーブルの列にマッピングされ、エラー時の処理の選択肢も表示されています。

対応付けの保存と文字コード

TablePro は CSV、JSON、Excel のインポートで選んだ対応付けをテーブルごとに記憶します。Match by Name と Match by Position で全フィールドをワンクリックで対応付けられます。位置による対応付けは、フィールド順をファイルから取得する CSV と Excel に対応します。CSV と SQL インポートは UTF-16 および Shift JIS、GB 18030、Big5、EUC-KR などの日本語、中国語、韓国語の文字コードを読み取れます。

テーブルと結果をエクスポート

⌘⇧E はチェックしたテーブルとビューを CSV、JSON、SQL、XLSX、Markdown、HTMLとXML にエクスポートします。書き込みながらデータベースからストリーミングするため、グリッドの行数制限は適用しません。SQL エンジンではテーブルごとに WHERE 句、行数制限、カラムの選択を指定できます。SQL エクスポートは構造の追加、gzip 圧縮と分割に対応し、Excel はテーブルごとに別のシートを使います。MongoDB コレクションは mongosh スクリプトにもエクスポートできます。MongoDB と Redis は SQL エクスポート非対応です。

Export Results はクエリの結果を書き込みます。行数上限で打ち切った結果は再実行して全件をストリーミングします。Parquet エクスポートは Settings > Plugins でインストールする無料プラグインが提供し、テーブルごとに一つのファイルを書き込みます。

Export ダイアログ。スキーマのテーブルとビューの中から orders テーブルにチェックが入り、形式として XLSX が選ばれています。

データファイル:データベースなしでファイルを操作

開く、検索する、整える

Finder または ⌘O から CSV、TSV や他の区切り文字付きテキスト、JSON、JSON Lines を開くと、Data Files ウィンドウが編集可能なテーブルとして表示します。グリッドのフィルターバーで絞り込み、すべてのカラムを検索し、正規表現で検索・置換し、Fill Down、Trim Whitespace、Change Case、Remove Duplicate Rows で整えられます。Excel ブックはシートごとにタブで開き、.csv.gz などの圧縮ファイルも開けます。この二つは読み取り専用です。

ウィンドウは専用のコピーを操作します。⌘S は元の形式でファイルを書き戻し、変更していない行はそのまま残します。

Data Files ウインドウで orders.csv を開き、Hanoi を検索しています。ステータスバーは 20,000 行中 2,498 行を示しています。

カラムの統計を確認してエクスポートやインポート

カラム統計では空の値と異なる値の数、範囲、よく現れる値を確認できます。値をクリックすると、その値でファイルを絞り込みます。準備ができたファイルは別の形式にエクスポートするか、Import into Table で開いている接続のテーブルに送れます。

Data Files ウインドウで orders.csv の status 列の統計情報を表示しています。

エンジン固有のツールでバックアップ

Backup Dump と Restore Dump は、接続の SSH トンネルと SSL 設定を使って pg_dump、mysqldump、mongodump、sqlite3、sqlpackageとDuckDB を実行します。踏み台の先のサーバーでも二つ目のトンネルは不要です。DuckDB 以外は別途インストールするコマンドラインツールです。DuckDB はデータベースファイルまたは Parquet ファイルのフォルダとして自らダンプを書き込みます。

Oracle、Google BigQueryとSnowflake では、Server-Side Export がサーバーにエクスポートさせます。出力先は Oracle Data Pump ジョブ、Snowflake ステージや Cloud Storage バケットです。Mac には何も保存しません。

Backup Dump と使用ツール
PostgreSQL (pg_dump)、MySQL (mysqldump)、SQL Server (sqlpackage)、SQLite (sqlite3)、MongoDB (mongodump)、MariaDB (mysqldump)、Amazon Redshift (pg_dump)、DuckDB (DuckDB)、libSQL (sqlite3)
SSH 踏み台経由の接続の Back Up シート。shop データベースのみが選択されています。

データベースとしてのファイル

SQLite と DuckDB ファイルは Finder から接続として開きます。DuckDB は Parquet、CSV、JSON ファイルを読み取り専用ビューとしても読み取るため、.parquet ファイルは Data Files ではなく DuckDB 接続として開きます。SSH サーバー上の SQLite データベースは、サーバーに Python 3.6 以降を必要とする小さなエージェント経由で直接開くか、読み取り専用コピーとして開けます。

.sql ファイルはクエリタブで開き、ディスクに保存できます。Beancount の台帳は読み取り専用のテーブル群として開きます。

データベースから別のデータベースへ

二つの接続間でテーブルや行を移す場合、中間ファイルは不要です。Copy To と Transfer To は異なるエンジン間でも直接移し、実行前に書き込み内容を表示します。

iPhone と iPad では

iPhone と iPad アプリは、読み込んだ行とクエリ結果を JSON、CSV や SQL INSERT 文としてコピーまたは共有します。コピーはそのデバイスのクリップボードに留まり、他のデバイスとは共有しません。

ショートカットの Add Row to Table と Add Rows to Table アクションは、JSON や CSV のテキストまたはファイルを受け取り、接続のセーフモードに従って行を追加します。iPhone と iPad にはインポートシート、ファイルエクスポート、Data Files ウィンドウやバックアップはありません。

対応範囲

このページの各機能、Mac で必要なプラン、iPhone・iPad での対応範囲
機能
ファイルをテーブルにインポートMac: 無料iPhoneとiPad: JSON や CSV のショートカットアクション
対応付けの保存、名前と位置による一致Mac: 無料iPhoneとiPad: 非対応
テーブルと結果をファイルにエクスポートMac: 無料iPhoneとiPad: JSON、CSV や SQL INSERT としてコピー・共有
Parquet エクスポートプラグインMac: 無料iPhoneとiPad: 非対応
データファイルウィンドウMac: 無料iPhoneとiPad: 非対応
ダンプのバックアップと復元Mac: 無料iPhoneとiPad: 非対応
サーバー側エクスポートMac: 無料iPhoneとiPad: 非対応
SQLite と DuckDB ファイルMac: 無料iPhoneとiPad: デバイス上のファイルやインメモリ DuckDB
SSH 経由の SQLite ファイルMac: 無料iPhoneとiPad: 非対応

知っておきたい制約

  • SQL エクスポートは、チェックを外さない限り各テーブルの前に DROP TABLE IF EXISTS を含みます。残したいテーブルがあるデータベースでファイルを実行する前に、オプションを確認してください。
  • Backup Dump は自分でインストールしたコマンドラインツールを使い、記載したエンジンだけに対応します。ツールには環境変数や一時ファイルでパスワードを渡します。ただし sqlpackage は SQL Server のパスワードをコマンドラインで受け取り、Mac 上の他のプロセスが読めるため、TablePro は開始前に確認します。
  • Restore Dump は MySQL や MariaDB ダンプ内のテーブルを置き換えます。他のエンジンでは既存のオブジェクトを置き換えません。SQL Server の .bacpac には空のデータベースが必要です。
  • SSH 経由でデータベースファイルを開けるのは SQLite だけです。
  • S3 用の httpfs、Iceberg、Delta など組み込みでない DuckDB 拡張は、初めてクエリで必要になったときに DuckDB のサーバーからダウンロードします。
  • 現在の App Store 版では、ショートカットアクションが読む CSV と JSON は UTF-8 のみで、CSV の改行は LF のみに対応します。

TablePro を入手

TablePro はオープンソースで、無料で使えます。有料プランで Mac アプリに任意の機能を追加できます。
Mac 版をダウンロード

macOS 13 Ventura 以降Apple siliconまたはIntel

App Store からダウンロード

iPhoneとiPadiOSとiPadOS 18 以降

料金を見る