SQLiten asentaminen ja käyttö Ubuntu 20.04:ssä

Tekijä valitsi Free and Open Source Fundin saamaan lahjoituksen osana Write for DOnations -ohjelmaa.

Esittely

SQLite on ilmainen, alustojenvälinen tietokannanhallintajärjestelmä. Se on suosittu tehokkuutensa ja rajapintakykynsä vuoksi monien eri ohjelmointikielten kanssa.

Tässä opetusohjelmassa asennat SQLiten Ubuntu 20.04:ään. Sen jälkeen luot tietokannan, luet siitä tietoja, lisäät kohteita, poistat kohteita ja yhdistät kohteita erillisistä taulukoista.

Huomautus: Tämä opetusohjelma sisältää käytännön ohjeita SQLiten asentamiseen ja käyttöön. Se ei käsittele laajempia käsitteellisiä kysymyksiä ja tuotantoon liittyviä huolenaiheita, kuten sitä, milloin SQLite-tietokannan käyttöä kannattaa tai ei kannata harkita. Erinomaisen yleiskatsauksen suosittuihin relaatiotietokantoihin ja niiden vertailuun saat artikkelistamme SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.

Lisäksi monet kielet ylläpitävät integraatioita SQLiten kanssa. Ohjeita SQLiten käyttämiseen Python-koodisi sisällä saat tutoriaalistamme How To Use the sqlite3 Module in Python 3.

Vedellytykset

Tämän tutoriaalin suorittamiseen tarvitset:

  • Lähikoneen tai palvelimen, jossa on Ubuntu 20.04. Jos haluat perustaa palvelimen, mukaan lukien ei-root sudo-käyttäjän ja palomuurin, voit luoda DigitalOcean Droplet -palvelimen, jossa on Ubuntu 20.04, ja seurata sitten palvelimen alkuasennusoppaamme.

Vaihe 1 – SQLiten asentaminen Ubuntu 20.04:ään.04

Asenna SQLite-komentoriviliittymä Ubuntuun päivittämällä ensin pakettiluettelo:

  • sudo apt update

Asenna nyt SQLite:

  • sudo apt install sqlite3

Varmistaaksesi asennuksen, tarkista ohjelmiston versio:

  • sqlite --version

Saat seuraavanlaisen ulostulon:

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

Ohjelmiston asennettuasi SQLite on nyt valmis luomaan uuden tietokannan.

Vaihe 2 – SQLite-tietokannan luominen

Tässä vaiheessa luot tietokannan, joka sisältää erilaisia haita ja niiden ominaisuuksia. Luodaksesi tietokannan avaa terminaali ja suorita tämä sqlite3-komento:

  • sqlite3 sharks.db

Tämä luo uuden tietokannan nimeltä sharks. Jos tiedosto sharks.db on jo olemassa, SQLite avaa yhteyden siihen; jos sitä ei ole olemassa, SQLite luo sen.

Saat seuraavanlaisen tulosteen:

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

Tämän jälkeen kehote muuttuu. Näyttöön tulee nyt uusi etuliite, sqlite>:

    Kun Shark-tietokantasi on luotu, luot nyt uuden taulukon ja täytät sen tiedoilla.

    Vaihe 3 – SQLite-taulukon luominen

    SQLite-tietokannat on järjestetty taulukoihin. Taulukot tallentavat tietoa. Taulukon parempaa havainnollistamista varten voidaan kuvitella rivejä ja sarakkeita.

    Loppuosa tästä opetusohjelmasta noudattaa yleistä konventiota SQLite-komentojen syöttämisessä. SQLite-komennot ovat isoja kirjaimia ja käyttäjätiedot pieniä kirjaimia. Rivien on päätyttävä puolipisteeseen.

    Luotaan nyt taulukko ja joitakin sarakkeita erilaisille tiedoille:

    • Tunnus
    • Hain nimi
    • Hain tyyppi
    • Hain keskipituus (senttimetreinä)

    Luo taulukko seuraavalla komennolla:

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

    Käyttämällä komentoa NOT NULL kyseisestä kentästä tulee pakollinen. Keskustelemme NOT NULL:sta tarkemmin seuraavassa kappaleessa.

    Taulukon luomisen jälkeen palaa tyhjä kehote. Nyt lisätään siihen joitakin arvoja.

    Arvojen lisääminen taulukoihin

    SQLitessä komento arvojen lisäämiseksi taulukkoon noudattaa tätä yleistä muotoa:

    • INSERT INTO tablename VALUES(values go here);

    Missä tablename on taulukkosi nimi, ja values menee sulkujen sisään.

    Siirrä nyt kolme riviä VALUES taulukkoon 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);

    Koska määrittelit aiemmin NOT NULL jokaiselle taulukkosi muuttujalle, sinun on syötettävä jokaiselle arvo.

    Yritä esimerkiksi lisätä toinen hai asettamatta sen pituutta:

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

    Saat tämän virheen:

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

    Tässä vaiheessa loit taulukon ja lisäsit siihen arvoja. Seuraavassa vaiheessa luet tietokantataulukostasi.

    Vaihe 4 – Taulukoiden lukeminen SQLite:ssä

    Tässä vaiheessa keskitymme perustavanlaatuisimpiin menetelmiin lukea tietoja taulukosta. Tunnista, että SQLite tarjoaa tarkempia menetelmiä taulukoiden tietojen katseluun.

    Katsellaksesi taulukkoa, jossa on kaikki lisätyt arvot, käytä SELECT:

    • SELECT * FROM sharks;

    Näet aiemmin lisätyt merkinnät:

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

    Voidaksesi tarkastella merkintää sen id:n (manuaalisesti asettamiemme arvojen) perusteella, lisää kyselyysi komento WHERE:

    • SELECT * FROM sharks WHERE id IS 1;

    Tällöin saat takaisin hain, jonka id on yhtä suuri kuin 1:

    Output
    1|Sammy|Greenland Shark|427

    Katsotaanpa tätä komentoa tarkemmin.

    1. Ensin SELECT kaikki (*) arvot tietokannastamme sharks.
    2. Sitten katsomme kaikki id-arvot.
    3. Sitten palautamme kaikki taulukkomerkinnät, joissa id on yhtä suuri kuin 1.

    Viimeistään tähän mennessä olet luonut taulukon, lisännyt siihen dataa ja tehnyt kyselyn tallennetusta datasta. Nyt päivität olemassa olevaa taulukkoa.

    Vaihe 5 – Taulukoiden päivittäminen SQLitessä

    Seuraavissa kahdessa osiossa lisäät ensin uuden sarakkeen olemassa olevaan taulukkoon ja sen jälkeen päivität taulukon olemassa olevat arvot.

    Sarakkeiden lisääminen SQLite-taulukoihin

    SQLite sallii taulukkosi muuttamisen komennolla ALTER TABLE. Tämä tarkoittaa, että voit luoda uusia rivejä ja sarakkeita tai muuttaa olemassa olevia rivejä ja sarakkeita.

    Luo uusi sarake komennolla ALTER TABLE. Tämä uusi sarake seuraa jokaisen hain ikää vuosina:

    • ALTER TABLE sharks ADD COLUMN age integer;

    Sinulla on nyt viides sarake, age.

    Arvojen päivittäminen SQLite-taulukoissa

    Lisää UPDATE-komennon avulla uudet age-arvot jokaiselle haillesi:

    • 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

    Sinulla on nyt viides sarake, age.

    Arvojen päivittäminen SQLite-taulukoissa

    Sinulla ei ole mitään tekemistä SQLite-taulukon kanssa. Seuraavassa vaiheessa poistat tietoja taulukosta.

    Vaihe 6 – Tietojen poistaminen SQLitessä

    Tässä vaiheessa poistat taulukkosi merkinnät argumentin arvioinnin perusteella.

    Seuraavalla komennolla kysyt tietokannaltasi ja pyydät sitä poistamaan kaikki sharks-taulukkosi hait, joiden ikä on alle 200:

    • DELETE FROM sharks WHERE age <= 200;

    Työkalulla SELECT * FROM sharks; varmistat, että Alyoshka ja Himari, jotka kumpikin olivat alle 200-vuotiaita, poistettiin. Jäljelle jää vain Sammy Grönlanninhai:

    Output
    1|Sammy|Greenland Shark|427|272

    Vaihe 7 – Tietojen yhdistäminen SQLite:ssä

    Kuvitellaan, että meillä olisi kaksi taulua: nykyinen sharks-taulumme ja endangered-taulu. Entä jos endangered-taulussa olisi id-arvo, joka vastaisi sharks-taulusi id-arvoja, ja siinä olisi myös status-arvo, joka osoittaisi kunkin hain suojelutason?

    Jos haluaisit kysyä tietoja molemmista taulukoista, voisit käyttää yhtä SQLiten neljästä yhdistämiskomennosta:

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

    Luotaan tuo toinen taulukko ja yhdistetään sen jälkeen INNER JOIN:llä joitain tietoja.

    Luo ensin endangered-taulukkosi:

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

    Yhdistä nyt taulukot:

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

    Tulosteesi näyttää tältä:

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

    Huomaa, että tulosteessa on mukana myös endangered-taulukon id arvo. Voit määrittää halutun tulosteen tarkemmalla komennolla:

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

    Tällä kertaa tuloste ei sisällä toista id-arvoa:

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

    Olet nyt onnistuneesti yhdistänyt tietoja useista taulukoista.

    Johtopäätökset

    SQLite on käyttökelpoinen työkalu tietokannan hallintaan. Tietokannan voi luoda nopeasti ja sitä voi käsitellä erilaisilla komennoilla. Tämän opetusohjelman jälkeen sinulla on nyt perusymmärrys SQLite:stä ja olet valmis sukeltamaan syvemmälle tähän tietokannan hallintajärjestelmään.

    Erinomaisen yleiskatsauksen relaatiotietokantajärjestelmistä ja niiden vertailusta saat artikkelistamme SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.

    Lisäksi monet kielet ylläpitävät integraatioita SQLiten kanssa. Ohjeita SQLiten käyttämiseen Python-koodisi sisällä löydät opetusohjelmastamme, How To Use the sqlite3 Module in Python 3.

    .

    Vastaa

    Sähköpostiosoitettasi ei julkaista.