Skip to content

@tauri-apps/plugin-sql

Defined in: plugins/sql/guest-js/index.ts:27

Database

The Database class serves as the primary interface for communicating with the rust side of the sql plugin.

new default(path: string): default;

Defined in: plugins/sql/guest-js/index.ts:29

Parameter Type
path string

default

Property Type Defined in
path string plugins/sql/guest-js/index.ts:28

close(db?: string): Promise<boolean>;

Defined in: plugins/sql/guest-js/index.ts:162

close

Closes the database connection pool.

const success = await db.close()
Parameter Type Description
db? string Optionally state the name of a database if you are managing more than one. Otherwise, all database pools will be in scope.

Promise<boolean>

execute(query: string, bindValues?: unknown[]): Promise<QueryResult>;

Defined in: plugins/sql/guest-js/index.ts:108

execute

Passes a SQL expression to the database for execution.

// for sqlite & postgres
// INSERT example
const result = await db.execute(
"INSERT into todos (id, title, status) VALUES ($1, $2, $3)",
[ todos.id, todos.title, todos.status ]
);
// UPDATE example
const result = await db.execute(
"UPDATE todos SET title = $1, completed = $2 WHERE id = $3",
[ todos.title, todos.status, todos.id ]
);
// for mysql
// INSERT example
const result = await db.execute(
"INSERT into todos (id, title, status) VALUES (?, ?, ?)",
[ todos.id, todos.title, todos.status ]
);
// UPDATE example
const result = await db.execute(
"UPDATE todos SET title = ?, completed = ? WHERE id = ?",
[ todos.title, todos.status, todos.id ]
);
Parameter Type
query string
bindValues? unknown[]

Promise<QueryResult>

select<T>(query: string, bindValues?: unknown[]): Promise<T>;

Defined in: plugins/sql/guest-js/index.ts:141

select

Passes in a SELECT query to the database for execution.

// for sqlite & postgres
const result = await db.select(
"SELECT * from todos WHERE id = $1", [ id ]
);
// for mysql
const result = await db.select(
"SELECT * from todos WHERE id = ?", [ id ]
);
Type Parameter
T
Parameter Type
query string
bindValues? unknown[]

Promise<T>

static get(path: string): default;

Defined in: plugins/sql/guest-js/index.ts:72

get

A static initializer which synchronously returns an instance of the Database class while deferring the actual database connection until the first invocation or selection on the database.

The path is relative to tauri::path::BaseDirectory::App and must start with sqlite:.

const db = Database.get("sqlite:test.db");
Parameter Type
path string

default

static load(path: string): Promise<default>;

Defined in: plugins/sql/guest-js/index.ts:48

load

A static initializer which connects to the underlying database and returns a Database instance once a connection to the database is established.

The path is relative to tauri::path::BaseDirectory::App and must start with sqlite:.

const db = await Database.load("sqlite:test.db");
Parameter Type
path string

Promise<default>

Defined in: plugins/sql/guest-js/index.ts:7

Property Type Description Defined in
lastInsertId? number The last inserted id. This value is not set for Postgres databases. If the last inserted id is required on Postgres, the select function must be used, with a RETURNING clause (INSERT INTO todos (title) VALUES ($1) RETURNING id). plugins/sql/guest-js/index.ts:18
rowsAffected number The number of rows affected by the query. plugins/sql/guest-js/index.ts:9

© 2026 Tauri Contributors. CC-BY / MIT