Turso をローカルで使う:SQLite 互換、CLI、Rust、Node、Python の例

tursodatabase/turso のローカルデータベース利用方法を整理する。CLI のインストール、テーブル作成、データの挿入と検索、Rust、Node.js、Python、Go からの接続例。

tursodatabase/turso は SQLite 互換の in-process SQL データベースです。簡単に言うと、SQLite の軽量さと組み込みやすさを保ちながら、現代的なアプリケーションや多言語 SDK により合わせたデータベースツールを目指しています。

プロジェクト:

https://github.com/tursodatabase/turso

CLI をインストールする

README では、最新 release の installer を次のようにダウンロードしてインストールします。

1
2
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh

インストール後、CLI に入ります。

1
tursodb

入ると次のようなプロンプトが表示されます。

1
2
3
4
Turso
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database

まずテーブルを試す

CLI でそのまま SQL を試せます。

1
2
3
4
CREATE TABLE users (id INT, username TEXT);
INSERT INTO users VALUES (1, 'alice');
INSERT INTO users VALUES (2, 'bob');
SELECT * FROM users;

出力:

1
2
1|alice
2|bob

構文と互換性を確認するだけなら、このステップで十分です。そのあとでアプリケーションに接続します。

ソースから実行する

開発者はリポジトリ内で直接実行できます。

1
cargo run

Docker を使う場合のコマンドも README にあります。

1
2
make docker-cli-build && \
make docker-cli-run

アプリケーションから接続する

Rust プロジェクトでは依存関係を追加します。

1
cargo add turso

Node.js プロジェクト:

1
npm i @tursodatabase/database

Python プロジェクト:

1
uv pip install pyturso

Go プロジェクト:

1
go install turso.tech/database/tursogo

向いている場面

Turso は次のような場面に向いています。

  1. SQLite 風の使い勝手がほしいが、多言語 SDK はより現代的なものを使いたい。
  2. ローカルアプリ、CLI ツール、デスクトップアプリで組み込み SQL が必要。
  3. プロトタイプで、先にデータベースサービスをデプロイしたくない。
  4. SQLite 互換の選択肢や Rust データベースエコシステムを試したい。

完全な分散データベース、複雑な権限管理、大規模チームの運用が必要な場合は、先に境界を評価したほうがよいです。Turso はあらゆるデータベース問題を一度に包み込むものではなく、軽量なデータベースの入口として見るのが合っています。

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。