インポート、エクスポートとデータファイル
このページの機能はすべて無料です。
ファイルをテーブルにインポート
⌘⇧I で CSV、TSV、JSON、JSONL、XLSXとSQL ファイルをインポートします。SQL ファイルは文として実行し、.sql.gz ダンプや GO で区切った SQL Server スクリプトにも対応します。他の形式は既存テーブル、またはファイル名で新規作成したテーブルに読み込み、カラムもファイルから取得します。Excel ブックは最初のシートをインポートします。
各フィールドをカラムに対応付け、無効にしない限りインポートを一つのトランザクションで実行します。行が失敗したときは、停止してロールバック、停止してインポート済みデータを保持、行をスキップして続行から選べます。スキップした行のレポートを CSV として保存できます。


対応付けの保存と文字コード
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 でインストールする無料プラグインが提供し、テーブルごとに一つのファイルを書き込みます。


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


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


エンジン固有のツールでバックアップ
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)


データベースとしてのファイル
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: 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 を入手
macOS 13 Ventura 以降Apple siliconまたはIntel