Hoe SQLite te installeren en te gebruiken op Ubuntu 20.04

De auteur heeft het Free and Open Source Fund geselecteerd om een donatie te ontvangen als onderdeel van het Write for DOnations programma.

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:

Output
3.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:

Output
SQLite 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:

    Output
    Error: 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:

    Output
    1|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:

    Output
    1|Sammy|Greenland Shark|427

    Laten we dit commando eens van dichterbij bekijken.

    1. Eerst SELECT we alle (*) waarden uit onze database, sharks.
    2. Dan kijken we naar alle id waarden.
    3. Dan retourneren we alle tabel entries waar id gelijk is aan 1.

    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;
    Output
    1|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:

    Output
    1|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 ids 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:

    Output
    1|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:

    Output
    1|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.

    Geef een antwoord

    Het e-mailadres wordt niet gepubliceerd.