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 & configNext →
DML