How To Install and Use SQLite on Ubuntu 20.04

Autor wybrał Fundusz Wolnego i Otwartego Oprogramowania, aby otrzymać darowiznę w ramach programu Write for DOnations.

Wprowadzenie

SQLite jest darmowym, wieloplatformowym systemem zarządzania bazą danych. Jest popularny ze względu na swoją wydajność i zdolność do współpracy z wieloma różnymi językami programowania.

W tym poradniku zainstalujesz SQLite na Ubuntu 20.04. Następnie utworzymy bazę danych, będziemy odczytywać z niej dane, wstawiać elementy, usuwać elementy i łączyć elementy z oddzielnych tabel.

Uwaga: Ten poradnik zawiera praktyczne instrukcje dotyczące instalacji i używania SQLite. Nie obejmuje on większych zagadnień koncepcyjnych i produkcyjnych, takich jak to, kiedy należy, a kiedy nie należy rozważać użycia bazy danych SQLite. Aby uzyskać doskonały przegląd popularnych relacyjnych baz danych i ich porównań, sprawdź nasz artykuł, SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.

Dodatkowo, wiele języków utrzymuje integracje z SQLite. Instrukcje dotyczące używania SQLite w kodzie Pythona można znaleźć w naszym poradniku How To Use the sqlite3 Module in Python 3.

Prerequisites

Aby ukończyć ten poradnik, będziesz potrzebował:

  • Maszyny lokalnej lub serwera z systemem Ubuntu 20.04. Aby skonfigurować serwer, w tym nierootowego użytkownika sudo i firewall, można utworzyć DigitalOcean Droplet z Ubuntu 20.04, a następnie postępować zgodnie z naszym przewodnikiem konfiguracji serwera.

Krok 1 – Instalacja SQLite na Ubuntu 20.04

Aby zainstalować interfejs wiersza poleceń SQLite na Ubuntu, najpierw zaktualizuj swoją listę pakietów:

  • sudo apt update

Teraz zainstaluj SQLite:

  • sudo apt install sqlite3

Aby zweryfikować instalację, sprawdź wersję oprogramowania:

  • sqlite --version

Otrzymasz wyjście takie jak to:

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

Po zainstalowaniu SQLite, jesteś teraz gotowy do utworzenia nowej bazy danych.

Krok 2 – Tworzenie bazy danych SQLite

W tym kroku utworzysz bazę danych zawierającą różne rekiny i ich atrybuty. Aby utworzyć bazę danych, otwórz terminal i uruchom to sqlite3polecenie:

  • sqlite3 sharks.db

To utworzy nową bazę danych o nazwie sharks. Jeśli plik sharks.db już istnieje, SQLite otworzy połączenie z nim; jeśli nie istnieje, SQLite go utworzy.

Otrzymasz wyjście takie jak to:

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

Po tym, Twój znak zachęty zmieni się. Pojawi się nowy prefiks, sqlite>:

    Po utworzeniu bazy danych Shark, teraz utworzysz nową tabelę i wypełnisz ją danymi.

    Krok 3 – Tworzenie tabeli SQLite

    Bazy danych SQLite są zorganizowane w tabele. Tabele przechowują informacje. Aby lepiej zobrazować tabelę, można wyobrazić sobie wiersze i kolumny.

    Reszta tego poradnika będzie zgodna z powszechną konwencją wprowadzania poleceń SQLite. Polecenia SQLite pisane są wielkimi literami, a informacje o użytkowniku małymi. Linie muszą kończyć się średnikiem.

    Teraz stwórzmy tabelę i kilka kolumn dla różnych danych:

    • Identyfikator
    • Nazwa rekina
    • Typ rekina
    • Średnia długość rekina (w centymetrach)

    Użyj następującego polecenia, aby utworzyć tabelę:

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

    Użycie NOT NULL powoduje, że to pole jest wymagane. Omówimy NOT NULL bardziej szczegółowo w następnej sekcji.

    Po utworzeniu tabeli zostanie zwrócony pusty znak zachęty. Teraz wstawmy do niej jakieś wartości.

    Wstawianie wartości do tabel

    W SQLite polecenie wstawiania wartości do tabeli ma następującą ogólną postać:

    • INSERT INTO tablename VALUES(values go here);

    Gdzie tablename jest nazwą twojej tabeli, a values znajduje się wewnątrz nawiasów.

    Teraz wstaw trzy wiersze VALUES do swojej tabeli sharks:

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

    Ponieważ wcześniej określiłeś NOT NULL dla każdej ze zmiennych w swojej tabeli, musisz wprowadzić wartość dla każdej z nich.

    Na przykład, spróbuj dodać kolejnego rekina bez ustawiania jego długości:

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

    Otrzymasz taki błąd:

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

    W tym kroku utworzyłeś tabelę i wstawiłeś do niej wartości. W następnym kroku odczytasz dane ze swojej tabeli w bazie danych.

    Krok 4 – Odczyt tabel w SQLite

    W tym kroku skupimy się na najbardziej podstawowych metodach odczytu danych z tabeli. Zauważ, że SQLite dostarcza bardziej specyficznych metod do przeglądania danych w tabelach.

    Aby obejrzeć swoją tabelę ze wszystkimi wstawionymi wartościami, użyj SELECT:

    • SELECT * FROM sharks;

    Zobaczysz wcześniej wstawione wpisy:

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

    Aby wyświetlić wpis na podstawie jego id (wartości, które ustawiliśmy ręcznie), dodaj do zapytania polecenie WHERE:

    • SELECT * FROM sharks WHERE id IS 1;

    To zwróci rekina, którego id jest równe 1:

    Output
    1|Sammy|Greenland Shark|427

    Przyjrzyjrzyjrzyjmy się bliżej temu poleceniu.

    1. Najpierw SELECTwszystkie (*) wartości z naszej bazy danych, sharks.
    2. Potem patrzymy na wszystkie wartości id.
    3. Potem zwracamy wszystkie wpisy w tabeli, w których id jest równe 1.

    Do tej pory utworzyłeś tabelę, wstawiłeś do niej dane i zapytałeś o te zapisane dane. Teraz zaktualizujesz istniejącą tabelę.

    Krok 5 – Aktualizowanie tabel w SQLite

    W kolejnych dwóch sekcjach najpierw dodasz nową kolumnę do istniejącej tabeli, a następnie zaktualizujesz istniejące wartości w tabeli.

    Dodawanie kolumn do tabel SQLite

    SQLite pozwala na zmianę tabeli za pomocą polecenia ALTER TABLE. Oznacza to, że możesz tworzyć nowe wiersze i kolumny lub modyfikować istniejące wiersze i kolumny.

    Użyj polecenia ALTER TABLE, aby utworzyć nową kolumnę. Ta nowa kolumna będzie śledzić wiek każdego rekina w latach:

    • ALTER TABLE sharks ADD COLUMN age integer;

    Masz teraz piątą kolumnę, age.

    Uaktualnianie wartości w tabelach SQLite

    Używając polecenia UPDATE, dodaj nowe wartości age dla każdego z twoich rekinów:

    • 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

    W tym kroku zmieniłeś skład swojej tabeli, a następnie zaktualizowałeś wartości wewnątrz tabeli. W następnym kroku usuniesz informacje z tabeli.

    Krok 6 – Usuwanie informacji w SQLite

    W tym kroku usuniesz wpisy w tabeli na podstawie oceny argumentu.

    W następującym poleceniu zapytasz swoją bazę danych i poprosisz o usunięcie wszystkich rekinów z tabeli sharks, których wiek jest mniejszy niż 200 lat:

    • DELETE FROM sharks WHERE age <= 200;

    Typy SELECT * FROM sharks; sprawdzą, czy Alyoshka i Himari, z których każdy miał mniej niż 200 lat, zostały usunięte. Pozostał tylko Sammy rekin grenlandzki:

    Output
    1|Sammy|Greenland Shark|427|272

    Krok 7 – Łączenie informacji w SQLite

    Wyobraźmy sobie, że mamy dwie tabele: naszą obecną sharks tabelę i tabelę endangered. Co by się stało, gdyby tabela endangered miała wartość id, która odwzorowywałaby wartości id w twojej tabeli sharks, a także wartość status, która wskazywałaby status ochrony każdego rekina?

    Jeśli chciałbyś odpytywać o dane z obu tabel, mógłbyś użyć jednego z czterech poleceń SQLite’a typu join:

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

    Utwórzmy tę drugą tabelę, a następnie użyjmy INNER JOIN, aby połączyć niektóre dane.

    Najpierw utwórz tabelę endangered:

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

    Teraz połącz swoje tabele:

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

    Twoje dane wyjściowe będą wyglądać tak:

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

    Zauważ, że dane wyjściowe zawierają również wartość id z endangered. Możesz określić pożądane dane wyjściowe za pomocą bardziej wyraźnego polecenia:

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

    Tym razem dane wyjściowe wykluczają drugą wartość id:

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

    Teraz udało Ci się połączyć informacje z wielu tabel.

    Wniosek

    SQLite jest użytecznym narzędziem do zarządzania bazami danych. Można szybko utworzyć bazę danych i manipulować nią za pomocą różnych poleceń. Po tym samouczku masz już podstawowe zrozumienie SQLite i jesteś przygotowany do głębszego zapoznania się z tym systemem zarządzania bazą danych.

    Dla doskonałego przeglądu relacyjnych systemów baz danych i ich porównania, sprawdź nasz artykuł, SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.

    Dodatkowo, wiele języków utrzymuje integracje z SQLite. Aby uzyskać instrukcje dotyczące korzystania z SQLite w kodzie Pythona, sprawdź nasz poradnik, Jak korzystać z modułu sqlite3 w Pythonie 3.

    .

    Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany.