Cloudflare D1 icon

Cloudflare D1

Execute operations against Cloudflare D1 serverless databases. Supports structured operations (Insert, Select, Update, Delete), raw SQL queries, and can be used as a tool by AI Agents.

Query → Execute Query

AI-generated

Summary

Execute a raw SQL query against a Cloudflare D1 database, optionally with bound parameters.

Inputs

  • databaseId (required) — The unique identifier of the Cloudflare D1 database to query.
  • sqlQuery (required) — The SQL query to execute; use ? placeholders for parameters to prevent SQL injection.
  • queryParameters — JSON array of values to bind to the ? placeholders in the query.

Output shape

an array of result objects, each containing a success flag, results array (or single result), and metadata such as rowsRead, rowsWritten, or changes

The exact fields vary by query type; success indicates execution status, results holds returned rows, and meta may include pagination or affect information.

Examples

Example 1: Run a SELECT query with a parameterized WHERE clause.

{"databaseId": "12345", "sqlQuery": "SELECT * FROM users WHERE id = ?", "queryParameters": ["42"]}

Example 2: Insert a new row using placeholders.

{"databaseId": "12345", "sqlQuery": "INSERT INTO users (name, email) VALUES (?, ?)", "queryParameters": ["Alice","alice@example.com"]}

Example 3: Execute multiple queries in a single transaction.

{"databaseId": "12345", "sqlQueries": "[{"sql": "INSERT INTO logs (msg) VALUES (?)", "params": ["event started"]}, {"sql": "SELECT COUNT(*) FROM logs", "params": []}]"}

Discussion