Edge Computing with Cloudflare Workers & Deno · Урок

Запросы с помощью D1 SQL на периферии

Используйте Cloudflare D1 — бессерверную базу данных SQLite — для выполнения реляционных запросов из Workers на периферии.

Урок 4 из 413 шагов

«Запросы с помощью D1 SQL на периферии» — бесплатный урок Edge Computing with Cloudflare Workers & Deno на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Edge Computing with Cloudflare Workers & Deno, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Edge Computing with Cloudflare Workers & Deno содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What is D1?

Cloudflare D1 is a serverless SQL database built on SQLite. It brings relational queries to the edge, complementing key-value (KV) and Durable Objects.

KV vs D1

When to use which:

  • KV: simple key-value, eventual consistency
  • D1: structured data, joins, transactions, SQL

Creating a Database

Create a D1 database from the CLI, then bind it to your Worker.

wrangler d1 create my-db

Binding D1

Add the binding to wrangler.toml so the database appears on the env object.

# wrangler.toml
[[d1_databases]]
binding = 'DB'
database_name = 'my-db'
database_id = 'xxxx'

Creating a Schema

Define tables with standard SQL, executed via the CLI or a migration file.

CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  email TEXT NOT NULL UNIQUE
);

Prepared Statements

Query D1 from your Worker using prepared statements with bound parameters to prevent SQL injection.

const row = await env.DB
  .prepare('SELECT * FROM users WHERE id = ?')
  .bind(userId)
  .first();

Reading Multiple Rows

Use .all() to fetch every matching row as an array of objects.

const { results } = await env.DB
  .prepare('SELECT email FROM users LIMIT 10')
  .all();

Writing Data

Inserts and updates use the same prepared-statement API with .run().

await env.DB
  .prepare('INSERT INTO users (email) VALUES (?)')
  .bind('a@b.com')
  .run();

Batching Statements

Run several statements atomically in a single round trip with batch, reducing latency.

await env.DB.batch([
  env.DB.prepare('INSERT INTO users (email) VALUES (?)').bind('x@y.com'),
  env.DB.prepare('INSERT INTO users (email) VALUES (?)').bind('p@q.com')
]);

Consistency & Replication

D1 offers strong consistency on its primary, with read replication for low-latency reads near users. Plan writes around the primary location.

When to Choose D1

Pick D1 when you need relational structure, transactions, and SQL at the edge; pick KV for fast simple lookups and Durable Objects for coordinated state.

Quick Check

Test your D1 knowledge.

Recap

You learned to create and bind a D1 database, define schemas, run safe parameterized queries, batch statements, and choose D1 over KV or Durable Objects when you need relational data at the edge.

Можно начать бесплатно

Изучай Edge Computing with Cloudflare Workers & Deno с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
47

Часто задаваемые вопросы

Урок «Запросы с помощью D1 SQL на периферии» бесплатный?

Да — полный текст урока «Запросы с помощью D1 SQL на периферии» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Edge Computing with Cloudflare Workers & Deno, подпишись на CoddyKit PRO. Курс Edge Computing with Cloudflare Workers & Deno содержит 4 уроков всего.

Чему я научусь в уроке «Запросы с помощью D1 SQL на периферии»?

Используйте Cloudflare D1 — бессерверную базу данных SQLite — для выполнения реляционных запросов из Workers на периферии. Ты практикуешь Edge Computing with Cloudflare Workers & Deno с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Edge Computing with Cloudflare Workers & Deno?

Предыдущий опыт не требуется. Edge Computing with Cloudflare Workers & Deno на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Запросы с помощью D1 SQL на периферии»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Edge Computing with Cloudflare Workers & Deno?

Да. Каждый урок Edge Computing with Cloudflare Workers & Deno включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Хранилище Cloudflare KV
  2. Объяснение Durable Objects
  3. Интеграция Deno с периферийным хранилищем
  4. Запросы с помощью D1 SQL на периферии
← Назад к Edge Computing with Cloudflare Workers & Deno