Interroger une base D1 SQL en périphérie
Utilisez Cloudflare D1, une base de données SQLite sans serveur, pour exécuter des requêtes relationnelles depuis vos Workers en périphérie.
Interroger une base D1 SQL en périphérie est une leçon Edge Computing with Cloudflare Workers & Deno gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Edge Computing with Cloudflare Workers & Deno, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Edge Computing with Cloudflare Workers & Deno comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
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-dbBinding 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.
Questions Fréquemment Posées
La leçon « Interroger une base D1 SQL en périphérie » est-elle gratuite ?
Oui — le texte complet de « Interroger une base D1 SQL en périphérie » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Edge Computing with Cloudflare Workers & Deno, passe à CoddyKit PRO. Le cours Edge Computing with Cloudflare Workers & Deno comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Interroger une base D1 SQL en périphérie » ?
Utilisez Cloudflare D1, une base de données SQLite sans serveur, pour exécuter des requêtes relationnelles depuis vos Workers en périphérie. Tu pratiques Edge Computing with Cloudflare Workers & Deno avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Edge Computing with Cloudflare Workers & Deno ?
Aucune expérience préalable n'est requise. Edge Computing with Cloudflare Workers & Deno sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Interroger une base D1 SQL en périphérie » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Edge Computing with Cloudflare Workers & Deno ?
Oui. Chaque leçon Edge Computing with Cloudflare Workers & Deno inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Stockage Cloudflare KV
- Les objets durables expliqués
- Intégrer Deno au stockage en périphérie
- Interroger une base D1 SQL en périphérie