Grundlæggende SQLite til databasearbejde og DB Browser for SQLite
Se også SQLite - udvidet med en samlet SQL-reference fra datatyper til views og CLI.
Engelske navne foretrækkes. Uanset sprog bruges ental for entiteter og tabeller:
Product, ikke Products.
Brug kun A-Z i tekniske navne. Skriv æ/Æ
som ae/AE, ø/Ø som oe/OE og
å/Å som aa/AA, for eksempel Børn →
Boern og År → Aar.
INTEGER - heltal, id’er og antalREAL - decimaltalTEXT - tekst og datoer som ISO-tekstBLOB - binære dataNULL - ukendt eller manglende værdiSQLite er fleksibel med typer. Brug stadig en tydelig type i schemaet og constraints, der beskytter data.
PRAGMA foreign_keys = ON; CREATE TABLE Product ( product_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, price REAL NOT NULL, inventory INTEGER NOT NULL );
PRIMARY KEY identificerer rækken. AUTOINCREMENT
lader SQLite finde næste id.
NOT NULL - værdi skal angivesUNIQUE - ingen gentagelserPRIMARY KEY - entydig identifikationFOREIGN KEY - reference til anden tabelCHECK - værdi skal opfylde en regelDEFAULT - standardværdiinventory INTEGER NOT NULL CHECK (inventory >= 0)
CREATE TABLE "Order" (
order_id INTEGER PRIMARY KEY,
customer_id INTEGER NOT NULL,
FOREIGN KEY (customer_id)
REFERENCES Customer(customer_id)
);
SQLite håndhæver kun fremmednøgler, når forbindelsen har fået
PRAGMA foreign_keys = ON;.
INSERT INTO Product (name, price, inventory)
VALUES ('Tekop', 75.00, 20);
INSERT INTO Product (name, price, inventory)
VALUES
('Tallerken', 120.00, 8),
('Kande', 250.00, 4);
SELECT * FROM Product; SELECT name, price FROM Product WHERE inventory > 0 ORDER BY price DESC; SELECT COUNT(*) AS antal FROM Product;
UPDATE Product SET price = 80.00 WHERE product_id = 1;
Kør først en tilsvarende SELECT med samme WHERE.
DELETE FROM Product WHERE product_id = 1;
En DELETE uden WHERE sletter alle rækker.
SELECT c.name, o.order_id, o.order_date FROM Customer AS c JOIN "Order" AS o ON o.customer_id = c.customer_id; SELECT o.order_id, p.name, ol.quantity FROM OrderLine AS ol JOIN "Order" AS o ON o.order_id = ol.order_id JOIN Product AS p ON p.product_id = ol.product_id;
.sqlite-filen.CREATE TABLE-SQL.