Tekijä valitsi Free and Open Source Fundin saamaan lahjoituksen osana Write for DOnations -ohjelmaa.
- Esittely
- Vedellytykset
- Vaihe 1 – SQLiten asentaminen Ubuntu 20.04:ään.04
- Vaihe 2 – SQLite-tietokannan luominen
- Vaihe 3 – SQLite-taulukon luominen
- Arvojen lisääminen taulukoihin
- Vaihe 4 – Taulukoiden lukeminen SQLite:ssä
- Vaihe 5 – Taulukoiden päivittäminen SQLitessä
- Sarakkeiden lisääminen SQLite-taulukoihin
- Arvojen päivittäminen SQLite-taulukoissa
- Arvojen päivittäminen SQLite-taulukoissa
- Vaihe 6 – Tietojen poistaminen SQLitessä
- Vaihe 7 – Tietojen yhdistäminen SQLite:ssä
- Johtopäätökset
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:
Output3.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:
OutputSQLite 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:
OutputError: 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:
Output1|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
:
Output1|Sammy|Greenland Shark|427
Katsotaanpa tätä komentoa tarkemmin.
- Ensin
SELECT
kaikki (*
) arvot tietokannastammesharks
. - Sitten katsomme kaikki
id
-arvot. - Sitten palautamme kaikki taulukkomerkinnät, joissa
id
on yhtä suuri kuin1
.
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;
Output1|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:
Output1|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ä:
Output1|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:
Output1|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.
.