Sections
Getting started
CLI flags & config
SQL
DDLDMLSELECTFunctions & expressionsTransactions
Clients
HTTP APINative driversPostgreSQL / MySQL wire protocolBinary RPC
Features
RBAC (multi-user)Embeddings (semantic search)File importBackupsDemo showcase mode and .fdb management
Operations
DeploymentArchitectureFileDB on Windows: tray and autostart
Reference
FileDB vs PostgreSQL / MySQL
AI
AI Features: overviewAI Chat and AI AgentSmart Export and AI Import MappingEmbeddings and Hybrid SearchAI setup: providers and presets
Dashboards
Dashboards: overviewDatasets and chartsNo-Code query builderDashboards AI assistantWidgets, grid and filtersPublic links and exportLayout, text cards and KPI comparison

DDL

CREATE TABLE

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name TEXT NOT NULL,
  age INT,
  created_at TEXT
);

DROP TABLE users;

Types: INT, FLOAT, TEXT, BOOL. Every value is JSON-serialized under the hood; values above ~2 KB automatically spill into overflow pages, so a single cell can hold tens of MB.

Indexes

CREATE INDEX idx_users_name ON users (name);
CREATE UNIQUE INDEX idx_users_email ON users (email);
CREATE INDEX idx_bookings_room_day ON bookings (room, day); -- multi-column
DROP INDEX idx_users_name;

ALTER TABLE

ALTER TABLE users ADD COLUMN nickname TEXT;
ALTER TABLE users DROP COLUMN nickname;
ALTER TABLE users RENAME TO accounts;
ALTER TABLE users RENAME COLUMN name TO full_name;

What's not there

Foreign keys and CHECK are parsed (so they don't break your query) but not enforced. Triggers, stored procedures, and views aren't supported — see the comparison page.

Related pages
← Previous
CLI flags & config
Next →
DML