shop.dbSQLite werkt met type-affinities:
We starten met een productentabel.
CREATE TABLE products (
product_id INTEGER PRIMARY KEY,
name TEXT,
price_cents INTEGER,
stock INTEGER
);
CREATE TABLE IF NOT EXISTS products (
product_id INTEGER PRIMARY KEY,
name TEXT NOT NULL DEFAULT '',
price_cents INTEGER NOT NULL DEFAULT 0,
stock INTEGER NOT NULL DEFAULT 0
);
CREATE TABLE IF NOT EXISTS products (
product_id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price_cents INTEGER NOT NULL CHECK (price_cents >= 0),
stock INTEGER NOT NULL CHECK (stock >= 0)
);
CREATE TABLE IF NOT EXISTS products (
product_id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
price_cents INTEGER NOT NULL,
stock INTEGER NOT NULL
);
CREATE TABLE IF NOT EXISTS products (
product_id INTEGER PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
price_cents INTEGER NOT NULL,
stock INTEGER NOT NULL DEFAULT 0
);
INSERT INTO products (name, sku, price_cents, stock)
VALUES ('Laptop 14"', 'L14-2025', 99900, 25);
INSERT INTO products (name, sku, price_cents, stock) VALUES
('Smartphone', 'SP-001', 69900, 10),
('Headphones', 'HP-123', 14900, 50),
('USB-C kabel', 'C-USB', 1200, 200);
-- stock en timestamps hebben defaults
INSERT INTO products (name, price_cents)
VALUES ('Docking station', 129900);
SELECT * FROM products; -- alles
SELECT name, price_cents FROM products; -- specifieke kolommen
SELECT * FROM products WHERE stock < 10 ORDER BY stock; -- filter + sort
products volgens de verbeterde versie.