How To Install and Use SQLite on Ubuntu 20.04

A szerző a Write for DOnations program keretében a Free and Open Source Fund-ot választotta adományozásra.

Bevezetés

A SQLite egy ingyenes, platformokon átívelő adatbázis-kezelő rendszer. Népszerű a hatékonysága és a számos különböző programozási nyelvvel való kapcsolódási képessége miatt.

Ezzel a bemutatóval az SQLite-ot telepíthetjük az Ubuntu 20.04 rendszeren. Ezután létrehoz egy adatbázist, adatokat olvas belőle, elemeket illeszt be, töröl és egyesít elemeket külön táblákból.

Megjegyzés: Ez a bemutató gyakorlati utasításokat tartalmaz az SQLite telepítéséhez és használatához. Nem tér ki a nagyobb koncepcionális kérdésekre és a termeléssel kapcsolatos aggályokra, például arra, hogy mikor érdemes és mikor nem érdemes SQLite adatbázist használni. A népszerű relációs adatbázisokról és azok összehasonlításáról kiváló áttekintést nyújt az SQLite vs MySQL vs PostgreSQL című cikkünk: A Comparison Of Relational Database Management Systems.

Kiegészítésképpen számos nyelv integrációt tart fenn az SQLite-tel. Az SQLite Python kódon belüli használatára vonatkozó utasításokért tekintse meg a Hogyan használjuk a sqlite3 modult Python 3-ban című útmutatónkat.

Előfeltételek

A bemutató elvégzéséhez szüksége lesz:

  • Egy helyi gépre vagy szerverre, amelyen Ubuntu 20.04 fut. A szerver beállításához, beleértve egy nem root sudo felhasználót és egy tűzfalat is, létrehozhat egy DigitalOcean Dropletet Ubuntu 20.04 operációs rendszerrel, majd követheti a Kezdeti szerver beállítási útmutatót.

1. lépés – Az SQLite telepítése Ubuntu 20.04-en.04

Az SQLite parancssori felület telepítéséhez Ubuntun először frissítse a csomaglistát:

  • sudo apt update

Most telepítse az SQLite-ot:

  • sudo apt install sqlite3

A telepítés ellenőrzéséhez ellenőrizze a szoftver verzióját:

  • sqlite --version

Egy ehhez hasonló kimenetet fog kapni:

Output
3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1

Az SQLite telepítésével most már készen áll egy új adatbázis létrehozására.

2. lépés – SQLite adatbázis létrehozása

Ezzel a lépéssel létrehozol egy adatbázist, amely különböző cápákat és azok attribútumait tartalmazza. Az adatbázis létrehozásához nyisd meg a terminálodat, és futtasd ezt a sqlite3 parancsot:

  • sqlite3 sharks.db

Ez egy új, sharks nevű adatbázist hoz létre. Ha a sharks.db fájl már létezik, az SQLite kapcsolatot nyit hozzá; ha nem létezik, az SQLite létrehozza.

Egy ehhez hasonló kimenetet fog kapni:

Output
SQLite version 3.31.1 2020-01-27 19:55:54Enter ".help" for usage hints.

Ezt követően a prompt megváltozik. Most egy új előtag, sqlite> jelenik meg:

    A Shark adatbázis létrehozása után most létrehoz egy új táblát, és feltölti azt adatokkal.

    3. lépés – SQLite tábla létrehozása

    A SQLite adatbázisok táblákba vannak szervezve. A táblák információkat tárolnak. Egy táblázat jobb szemléltetéséhez elképzelhetünk sorokat és oszlopokat.

    A bemutató további részében az SQLite parancsok bevitelének általános konvencióját követjük. Az SQLite parancsok nagybetűsek, a felhasználói információk pedig kisbetűsek. A soroknak pontosvesszővel kell végződniük.

    Most hozzunk létre egy táblázatot és néhány oszlopot a különböző adatokhoz:

    • A cápa azonosítója
    • A cápa neve
    • A cápa típusa
    • A cápa átlagos hossza (centiméterben)

    A táblázat létrehozásához használjuk a következő parancsot:

    • CREATE TABLE sharks(id integer NOT NULL, name text NOT NULL, sharktype text NOT NULL, length integer NOT NULL);

    A NOT NULL használatával az adott mezőt kötelezővé tesszük. A NOT NULL-at a következő szakaszban részletesebben tárgyaljuk.

    A táblázat létrehozása után egy üres prompt jelenik meg. Most szúrjunk be néhány értéket a táblázatba.

    Értékek beszúrása táblákba

    Az SQLite-ban az értékek táblázatba való beszúrásának parancsa a következő általános formát követi:

    • INSERT INTO tablename VALUES(values go here);

    Ahol a tablename a táblázat neve, a values pedig zárójelben áll.

    Most illessz be három VALUES sort a sharks táblázatodba:

    • 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);

    Mivel korábban megadtad a NOT NULL értéket a táblázat minden egyes változójához, mindegyikhez meg kell adnod egy-egy értéket.

    Próbáljon meg például egy újabb cápát hozzáadni anélkül, hogy megadná a hosszát:

    • INSERT INTO sharks VALUES (4, "Faiza", "Hammerhead Shark");

    Ezt a hibát fogja kapni:

    Output
    Error: table sharks has 4 columns but 3 values were supplied

    Ebben a lépésben létrehozott egy táblázatot, és értékeket illesztett bele. A következő lépésben olvasni fogsz az adatbázisod táblájából.

    4. lépés – Táblák olvasása az SQLite-ban

    Ebben a lépésben az adatok táblából való olvasásának legalapvetőbb módszereivel foglalkozunk. Ismerjük fel, hogy az SQLite specifikusabb módszereket is biztosít a táblák adatainak megtekintéséhez.

    A tábla összes beillesztett értékének megtekintéséhez használja a SELECT:

    • SELECT * FROM sharks;

    A korábban beillesztett bejegyzéseket fogja látni:

    Output
    1|Sammy|Greenland Shark|4272|Alyoshka|Great White Shark|6003|Himari|Megaladon|1800

    Ha egy bejegyzést a id (az általunk manuálisan beállított értékek) alapján szeretnénk megtekinteni, adjuk hozzá a WHERE parancsot a lekérdezésünkhöz:

    • SELECT * FROM sharks WHERE id IS 1;

    Ez azt a cápát fogja visszaadni, amelynek id értéke egyenlő 1:

    Output
    1|Sammy|Greenland Shark|427

    Nézzük meg közelebbről ezt a parancsot.

    1. Először SELECT az összes (*) értéket sharks adatbázisunkból.
    2. Majd megnézzük az összes id értéket.
    3. Aztán visszaadjuk az összes olyan táblázatbejegyzést, ahol a id egyenlő 1-val.

    Ezidáig létrehoztunk egy táblázatot, adatokat illesztettünk bele, és lekérdeztük a mentett adatokat. Most frissíteni fogod a meglévő táblázatot.

    5. lépés – Táblák frissítése az SQLite-ban

    A következő két szakaszban először egy új oszlopot adsz hozzá a meglévő táblázatodhoz, majd frissíted a táblázat meglévő értékeit.

    Oszlopok hozzáadása az SQLite táblákhoz

    A SQLite lehetővé teszi, hogy a ALTER TABLE parancs segítségével módosítsd a táblázatodat. Ez azt jelenti, hogy új sorokat és oszlopokat hozhat létre, vagy módosíthatja a meglévő sorokat és oszlopokat.

    Új oszlop létrehozásához használja a ALTER TABLE parancsot. Ez az új oszlop követni fogja az egyes cápák életkorát években kifejezve:

    • ALTER TABLE sharks ADD COLUMN age integer;

    Most már van egy ötödik oszlopod, az age.

    Értékek frissítése SQLite-táblákban

    A UPDATE parancs segítségével adj új age értékeket az egyes cápákhoz:

    • 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

    Ezzel a lépéssel módosítottad a táblázatod összetételét, majd frissítetted az értékeket a táblázatban. A következő lépésben információkat törölsz a táblázatból.

    6. lépés – Információk törlése az SQLite-ban

    Ezzel a lépéssel egy argumentum kiértékelése alapján törlöd a bejegyzéseidet a táblázatodból.

    A következő parancsban lekérdezi az adatbázisát, és azt kéri, hogy töröljön minden olyan cápát a sharks táblából, amelynek a kora 200 évnél kevesebb:

    • DELETE FROM sharks WHERE age <= 200;

    A SELECT * FROM sharks; beírásával ellenőrizni fogja, hogy a Alyoshka és Himari, amelyek mindegyike 200 évnél fiatalabb, törlésre kerültek. Csak Sammy a grönlandi cápa marad:

    Output
    1|Sammy|Greenland Shark|427|272

    7. lépés – Az információk összekapcsolása az SQLite-ban

    Tegyük fel, hogy két táblánk van: a jelenlegi sharks táblánk és egy endangered tábla. Most mi lenne, ha a endangered táblának lenne egy id értéke, amely leképezi a sharks táblánk id-eit, és lenne egy status értéke is, amely az egyes cápák természetvédelmi státuszát jelzi?

    Ha mindkét táblából szeretnénk lekérdezni adatokat, használhatjuk az SQLite négy egyesítési parancsának egyikét:

    • INNER JOIN
    • OUTER JOIN
    • LEFT JOIN
    • CROSS JOIN

    Hozzuk létre ezt a második táblát, majd a INNER JOIN segítségével egyesítsünk néhány adatot.

    Először is hozzuk létre a endangered táblát:

    • CREATE TABLE endangered (id integer NOT NULL, status text NOT NULL);
    • INSERT INTO endangered VALUES (1, "near threatened");

    Most egyesítsük a táblákat:

    • SELECT * FROM sharks INNER JOIN endangered on sharks.id = endangered.id;`

    A kimenetünk így fog kinézni:

    Output
    1|Sammy|Greenland Shark|427|272|1|near threatened

    Megjegyezzük, hogy a kimenet tartalmazza a id értéket is a endangered táblából. A kívánt kimenetet egy egyértelműbb paranccsal is megadhatja:

    • SELECT sharks.id, sharks.name, sharks.sharktype, sharks.length, sharks.age, endangered.status FROM sharks INNER JOIN endangered on sharks.id = endangered.id;

    Ezúttal a kimenet kizárja a második id értéket:

    Output
    1|Sammy|Greenland Shark|427|272|near threatened

    Most sikeresen egyesítette a több táblából származó információkat.

    Következtetés

    A SQLite egy hasznos eszköz az adatbázis-kezeléshez. Gyorsan létrehozhatunk egy adatbázist, és különböző parancsokkal manipulálhatjuk azt. Ezt a bemutatót követően most már rendelkezik az SQLite alapvető ismereteivel, és készen áll arra, hogy mélyebben elmerüljön ebben az adatbázis-kezelő rendszerben.

    A relációs adatbázis-rendszerekről és azok összehasonlításáról kiváló áttekintést nyújt az SQLite vs MySQL vs PostgreSQL című cikkünk: A Comparison Of Relational Database Management Systems.

    Kiegészítésképpen számos nyelv integrációt tart fenn az SQLite-tel. Az SQLite Python kódon belüli használatára vonatkozó utasításokért tekintse meg a How To Use the sqlite3 Module in Python 3.

    című bemutatót.

    Vélemény, hozzászólás?

    Az e-mail-címet nem tesszük közzé.