Turso Database Guide

CLI Quick Start

# Install CLI curl -sSfL https://get.tur.so/install.sh | bash # Login turso auth login # Create database turso db create my-database turso db create my-database --location sin # Singapore # Get connection URL and token turso db show my-database --url turso db tokens create my-database # Open shell turso db shell my-database # Replicate to other regions turso db replicate my-database nrt # Tokyo

TypeScript/JavaScript SDK

npm install @libsql/client import { createClient } from "@libsql/client"; const client = createClient({ url: process.env.TURSO_DATABASE_URL!, authToken: process.env.TURSO_AUTH_TOKEN!, }); // Execute query const result = await client.execute("SELECT * FROM users WHERE id = ?", [1]); console.log(result.rows); // Batch queries await client.batch([ { sql: "INSERT INTO users (name) VALUES (?)", args: ["Alice"] }, { sql: "INSERT INTO users (name) VALUES (?)", args: ["Bob"] }, ], "write"); // Transaction const tx = await client.transaction("write"); await tx.execute("UPDATE accounts SET balance = balance - 100 WHERE id = 1"); await tx.execute("UPDATE accounts SET balance = balance + 100 WHERE id = 2"); await tx.commit();

With Drizzle ORM

import { drizzle } from 'drizzle-orm/libsql'; import { createClient } from '@libsql/client'; const client = createClient({ url: process.env.TURSO_DATABASE_URL!, authToken: process.env.TURSO_AUTH_TOKEN!, }); export const db = drizzle(client, { schema });