Turso数据库指南
CLI 快速入门
# 安装 CLI
curl -sSfL https://get.tur.so/install.sh | bash
# 登录
turso auth login
# 创建数据库
turso db create my-database
turso db create my-database --location sin # 新加坡
# 获取连接URL和令牌
turso db show my-database --url
turso db tokens create my-database
# 打开数据库 Shell
turso db shell my-database
# 复制到其他区域
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!,
});
// 执行查询
const result = await client.execute("SELECT * FROM users WHERE id = ?", [1]);
console.log(result.rows);
// 批量查询
await client.batch([
{ sql: "INSERT INTO users (name) VALUES (?)", args: ["Alice"] },
{ sql: "INSERT INTO users (name) VALUES (?)", args: ["Bob"] },
], "write");
// 事务
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();
配合 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 });