De auteur heeft het Free and Open Source Fund geselecteerd om een donatie te ontvangen als onderdeel van het Write for DOnations programma.
- Inleiding
- Voorvereisten
- Step 1 – SQLite installeren op Ubuntu 20.04
- Stap 2 – Een SQLite database maken
- Stap 3 – Een SQLite tabel maken
- Waarden invoegen in Tabellen
- Stap 4 – Tabellen lezen in SQLite
- Stap 5 – Tabellen bijwerken in SQLite
- Kolommen toevoegen aan SQLite-tabellen
- Waarden bijwerken in SQLite Tabellen
- Stap 6 – Informatie verwijderen in SQLite
- Stap 7 – Informatie samenvoegen in SQLite
- Conclusie
Inleiding
SQLite is een vrij, cross-platform database management systeem. Het is populair vanwege de efficiëntie en de mogelijkheid om met veel verschillende programmeertalen te communiceren.
In deze tutorial installeert u SQLite op Ubuntu 20.04. Vervolgens maakt u een database aan, leest u gegevens, voegt u items in, verwijdert u items en voegt u items uit verschillende tabellen samen.
Note: Deze tutorial bevat praktische instructies voor het installeren en gebruiken van SQLite. Het behandelt geen grotere conceptuele kwesties en productiezaken, zoals wanneer men wel of niet zou moeten overwegen een SQLite database te gebruiken. Voor een uitstekend overzicht van populaire relationele databases en hoe ze zich tot elkaar verhouden, bekijk ons artikel, SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.
Daarnaast onderhouden vele talen integraties met SQLite. Voor instructies over het gebruik van SQLite in uw Python-code, raadpleegt u onze tutorial, How To Use the sqlite3
Module in Python 3.
Voorvereisten
Om deze tutorial te voltooien, hebt u nodig:
- Een lokale machine of server met Ubuntu 20.04. Om een server op te zetten, inclusief een niet-root sudo gebruiker en een firewall, kunt u een DigitalOcean Droplet aanmaken waarop Ubuntu 20.04 draait en vervolgens onze Handleiding voor initiële serverinstallatie volgen.
Step 1 – SQLite installeren op Ubuntu 20.04
Om de SQLite command-line interface op Ubuntu te installeren, werkt u eerst uw pakketlijst bij:
- sudo apt update
Installeer nu SQLite:
- sudo apt install sqlite3
Om de installatie te verifiëren, controleert u de versie van de software:
- sqlite --version
U krijgt een uitvoer als deze:
Output3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
Met SQLite geïnstalleerd, bent u nu klaar om een nieuwe database te maken.
Stap 2 – Een SQLite database maken
In deze stap maakt u een database met verschillende haaien en hun attributen. Om de database aan te maken, opent u uw terminal en voert u het volgende sqlite3
commando uit:
- sqlite3 sharks.db
Dit zal een nieuwe database creëren met de naam sharks
. Als het bestand sharks.db
al bestaat, zal SQLite er een verbinding mee openen; als het niet bestaat, zal SQLite het aanmaken.
U zult een uitvoer als deze krijgen:
OutputSQLite version 3.31.1 2020-01-27 19:55:54Enter ".help" for usage hints.
Hierna zal uw prompt veranderen. Een nieuw voorvoegsel, sqlite>
, verschijnt nu:
Met de Shark database gemaakt, kunt u nu een nieuwe tabel maken en deze vullen met gegevens.
Stap 3 – Een SQLite tabel maken
SQLite databases zijn georganiseerd in tabellen. In tabellen wordt informatie opgeslagen. Om een tabel beter te visualiseren, kan men zich rijen en kolommen voorstellen.
De rest van deze tutorial zal een gebruikelijke conventie volgen voor het invoeren van SQLite commando’s. SQLite commando’s zijn hoofdletters en gebruikersinformatie is kleine letters. Regels moeten eindigen met een puntkomma.
Nu gaan we een tabel maken en een aantal kolommen voor verschillende gegevens:
- Een ID
- De naam van de haai
- Het type haai
- De gemiddelde lengte van de haai (in centimeters)
Gebruik het volgende commando om de tabel te maken:
- CREATE TABLE sharks(id integer NOT NULL, name text NOT NULL, sharktype text NOT NULL, length integer NOT NULL);
Het gebruik van NOT NULL
maakt dat veld verplicht. We zullen NOT NULL
in meer detail bespreken in de volgende sectie.
Na het maken van de tabel, zal een lege prompt terugkomen. Laten we er nu wat waarden in invoegen.
Waarden invoegen in Tabellen
In SQLite volgt het commando voor het invoegen van waarden in een tabel deze algemene vorm:
- INSERT INTO tablename VALUES(values go here);
Waar tablename
de naam van uw tabel is, en values
tussen haakjes staat.
Nu voegt u drie rijen VALUES
in uw tabel sharks
in:
- INSERT INTO sharks VALUES (1, "Sammy", "Greenland Shark", 427);
- INSERT INTO sharks VALUES (2, "Alyoshka", "Great White Shark", 600);
- INSERT INTO sharks VALUES (3, "Himari", "Megaladon", 1800);
Omdat u eerder NOT NULL
voor elk van de variabelen in uw tabel hebt opgegeven, moet u voor elk een waarde invoeren.
Probeer bijvoorbeeld nog een haai toe te voegen zonder de lengte ervan in te stellen:
- INSERT INTO sharks VALUES (4, "Faiza", "Hammerhead Shark");
U krijgt deze foutmelding:
OutputError: table sharks has 4 columns but 3 values were supplied
In deze stap hebt u een tabel gemaakt en er waarden in ingevoegd. In de volgende stap gaat u lezen uit uw database tabel.
Stap 4 – Tabellen lezen in SQLite
In deze stap zullen we ons richten op de meest basale methodes om gegevens uit een tabel te lezen. Bedenk dat SQLite meer specifieke methoden biedt om gegevens in tabellen te bekijken.
Om uw tabel met alle ingevoegde waarden te bekijken, gebruikt u SELECT
:
- SELECT * FROM sharks;
U ziet de eerder ingevoegde gegevens:
Output1|Sammy|Greenland Shark|4272|Alyoshka|Great White Shark|6003|Himari|Megaladon|1800
Om een entry te bekijken op basis van zijn id
(de waarden die we handmatig hebben ingesteld), voegt u het WHERE
commando toe aan uw query:
- SELECT * FROM sharks WHERE id IS 1;
Dit zal de haai teruggeven waarvan de id
gelijk is aan 1
:
Output1|Sammy|Greenland Shark|427
Laten we dit commando eens van dichterbij bekijken.
- Eerst
SELECT
we alle (*
) waarden uit onze database,sharks
. - Dan kijken we naar alle
id
waarden. - Dan retourneren we alle tabel entries waar
id
gelijk is aan1
.
Tot nu toe heb je een tabel gemaakt, er gegevens in ingevoegd, en die opgeslagen gegevens opgevraagd. Nu gaat u de bestaande tabel bijwerken.
Stap 5 – Tabellen bijwerken in SQLite
In de volgende twee secties zult u eerst een nieuwe kolom toevoegen aan uw bestaande tabel en vervolgens bestaande waarden in de tabel bijwerken.
Kolommen toevoegen aan SQLite-tabellen
SQLite staat u toe uw tabel te wijzigen met behulp van het ALTER TABLE
commando. Dit betekent dat u nieuwe rijen en kolommen kunt maken, of bestaande rijen en kolommen kunt wijzigen.
Gebruik ALTER TABLE
om een nieuwe kolom te maken. Deze nieuwe kolom zal de leeftijd van elke haai in jaren bijhouden:
- ALTER TABLE sharks ADD COLUMN age integer;
U heeft nu een vijfde kolom, age
.
Waarden bijwerken in SQLite Tabellen
Met behulp van het UPDATE
commando, voegt u nieuwe age
waarden toe voor elk van uw haaien:
- UPDATE sharks SET age = 272 WHERE id=1;
- UPDATE sharks SET age = 70 WHERE id=2;
- UPDATE sharks SET age = 40 WHERE id=3;
Output1|Sammy|Greenland Shark|427|2722|Alyoshka|Great White Shark|600|703|Himari|Megaladon|1800|40
In deze stap heeft u de samenstelling van uw tabel veranderd en vervolgens waarden in de tabel bijgewerkt. In de volgende stap ga je informatie uit een tabel verwijderen.
Stap 6 – Informatie verwijderen in SQLite
In deze stap ga je entries in je tabel verwijderen op basis van de evaluatie van een argument.
In het volgende commando vraagt u uw database om alle haaien in uw tabel sharks
te verwijderen die jonger zijn dan 200:
- DELETE FROM sharks WHERE age <= 200;
Typing SELECT * FROM sharks;
zal verifiëren dat Alyoshka
en Himari
, die elk jonger waren dan 200 jaar, werden verwijderd. Alleen Sammy
de Groenlandse haai blijft over:
Output1|Sammy|Greenland Shark|427|272
Stap 7 – Informatie samenvoegen in SQLite
Stellen we ons voor dat we twee tabellen hadden: onze huidige sharks
tabel en een endangered
tabel. Wat als de endangered
-tabel een id
-waarde had die overeenkwam met de id
s in uw sharks
-tabel, en ook een status
-waarde had die de beschermingsstatus van elke haai aangaf?
Als u gegevens uit beide tabellen wilt opvragen, kunt u een van de vier join-commando’s van SQLite gebruiken:
INNER JOIN
OUTER JOIN
LEFT JOIN
CROSS JOIN
Laten we die tweede tabel maken en dan INNER JOIN
gebruiken om wat gegevens te joinen.
Maak eerst uw endangered
tabel aan:
- CREATE TABLE endangered (id integer NOT NULL, status text NOT NULL);
- INSERT INTO endangered VALUES (1, "near threatened");
Voeg nu uw tabellen samen:
- SELECT * FROM sharks INNER JOIN endangered on sharks.id = endangered.id;`
Uw uitvoer zal er als volgt uitzien:
Output1|Sammy|Greenland Shark|427|272|1|near threatened
Merk op dat de uitvoer ook de id
waarde uit endangered
bevat. U kunt de gewenste uitvoer met een explicieter commando specificeren:
- SELECT sharks.id, sharks.name, sharks.sharktype, sharks.length, sharks.age, endangered.status FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
Deze keer sluit de uitvoer de tweede id
waarde uit:
Output1|Sammy|Greenland Shark|427|272|near threatened
U hebt nu met succes informatie uit meerdere tabellen samengevoegd.
Conclusie
SQLite is een handig hulpmiddel voor databasebeheer. Men kan snel een database maken en deze met verschillende commando’s manipuleren. Na deze tutorial heeft u nu een basiskennis van SQLite en bent u voorbereid om dieper in dit database management systeem te duiken.
Voor een uitstekend overzicht van relationele database systemen en hoe ze zich tot elkaar verhouden, bekijk ons artikel, SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.
Daarnaast onderhouden vele talen integraties met SQLite. Voor instructies over het gebruik van SQLite in uw Python code, zie onze tutorial, How To Use the sqlite3
Module in Python 3.