Autorul a selectat Free and Open Source Fund pentru a primi o donație ca parte a programului Write for DOnations.
- Introducere
- Precondiții
- Pasul 1 – Instalarea SQLite pe Ubuntu 20.04
- Pasul 2 – Crearea unei baze de date SQLite
- Etapa 3 – Crearea unei tabele SQLite
- Inserarea valorilor în tabele
- Pasul 4 – Citirea tabelelor în SQLite
- Pasul 5 – Actualizarea tabelelor în SQLite
- Aducerea de coloane în tabelele SQLite
- Updating Values in SQLite Tables
- Pasul 6 – Ștergerea informațiilor în SQLite
- Pasul 7 – Îmbinarea informațiilor în SQLite
- Concluzie
Introducere
SQLite este un sistem de management al bazelor de date gratuit, cross-platform. Este popular pentru eficiența și capacitatea sa de a se interfața cu multe limbaje de programare diferite.
În acest tutorial veți instala SQLite pe Ubuntu 20.04. Apoi veți crea o bază de date, veți citi date din ea, veți insera elemente, veți șterge elemente și veți uni elemente din tabele separate.
Nota: Acest tutorial include instrucțiuni practice pentru instalarea și utilizarea SQLite. El nu acoperă probleme conceptuale mai mari și preocupări legate de producție, cum ar fi când ar trebui, sau nu, să se ia în considerare utilizarea unei baze de date SQLite. Pentru o prezentare excelentă a bazelor de date relaționale populare și a modului în care acestea se compară, consultați articolul nostru, SQLite vs MySQL vs PostgreSQL: A Comparison Of Relational Database Management Systems.
În plus, multe limbaje mențin integrări cu SQLite. Pentru instrucțiuni privind utilizarea SQLite în interiorul codului Python, consultați tutorialul nostru, How To Use the sqlite3
Module in Python 3.
Precondiții
Pentru a finaliza acest tutorial, veți avea nevoie de:
- O mașină locală sau un server care rulează Ubuntu 20.04. Pentru a configura un server, inclusiv un utilizator sudo non-root și un firewall, puteți crea un Droplet DigitalOcean care rulează Ubuntu 20.04 și apoi urmați Ghidul nostru de configurare inițială a serverului.
Pasul 1 – Instalarea SQLite pe Ubuntu 20.04
Pentru a instala interfața SQLite în linie de comandă pe Ubuntu, mai întâi actualizați lista de pachete:
- sudo apt update
Acum instalați SQLite:
- sudo apt install sqlite3
Pentru a verifica instalarea, verificați versiunea software-ului:
- sqlite --version
Vă veți primi o ieșire ca aceasta:
Output3.31.1 2020-01-27 19:55:54 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837balt1
Cu SQLite instalat, sunteți acum gata să creați o nouă bază de date.
Pasul 2 – Crearea unei baze de date SQLite
În acest pas veți crea o bază de date care să conțină diferiți rechini și atributele lor. Pentru a crea baza de date, deschideți terminalul și rulați această comandă sqlite3
:
- sqlite3 sharks.db
Aceasta va crea o nouă bază de date numită sharks
. Dacă fișierul sharks.db
există deja, SQLite va deschide o conexiune la acesta; dacă nu există, SQLite îl va crea.
Vă veți primi o ieșire ca aceasta:
OutputSQLite version 3.31.1 2020-01-27 19:55:54Enter ".help" for usage hints.
După aceasta, promptul dvs. se va schimba. Un nou prefix, sqlite>
, apare acum:
Cu baza de date Shark creată, veți crea acum o nouă tabelă și o veți popula cu date.
Etapa 3 – Crearea unei tabele SQLite
Bazele de date SQLite sunt organizate în tabele. Tabelele stochează informații. Pentru a vizualiza mai bine un tabel, ne putem imagina rânduri și coloane.
În restul acestui tutorial se va urma o convenție comună pentru introducerea comenzilor SQLite. Comenzile SQLite sunt scrise cu majuscule, iar informațiile despre utilizator sunt scrise cu minuscule. Liniile trebuie să se termine cu un punct și virgulă.
Acum haideți să creăm un tabel și câteva coloane pentru diverse date:
- Un ID
- Numele rechinului
- Tipul rechinului
- Lungimea medie a rechinului (în centimetri)
Utilizați următoarea comandă pentru a crea tabelul:
- CREATE TABLE sharks(id integer NOT NULL, name text NOT NULL, sharktype text NOT NULL, length integer NOT NULL);
Utilizarea lui NOT NULL
face ca acel câmp să fie obligatoriu. Vom discuta mai detaliat despre NOT NULL
în secțiunea următoare.
După crearea tabelului, se va întoarce un prompt gol. Acum haideți să inserăm niște valori în el.
Inserarea valorilor în tabele
În SQLite, comanda pentru inserarea valorilor într-un tabel urmează această formă generală:
- INSERT INTO tablename VALUES(values go here);
Unde tablename
este numele tabelului dvs. și values
se află între paranteze.
Acum inserați trei rânduri de VALUES
în tabelul 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);
Pentru că ați specificat mai devreme NOT NULL
pentru fiecare dintre variabilele din tabelul dumneavoastră, trebuie să introduceți o valoare pentru fiecare.
De exemplu, încercați să adăugați un alt rechin fără a-i seta lungimea:
- INSERT INTO sharks VALUES (4, "Faiza", "Hammerhead Shark");
Vă veți primi această eroare:
OutputError: table sharks has 4 columns but 3 values were supplied
În această etapă ați creat un tabel și ați introdus valori în el. În pasul următor veți citi din tabelul din baza de date.
Pasul 4 – Citirea tabelelor în SQLite
În acest pas, ne vom concentra pe cele mai de bază metode de citire a datelor dintr-un tabel. Recunoașteți că SQLite oferă metode mai specifice pentru vizualizarea datelor din tabele.
Pentru a vizualiza tabelul cu toate valorile inserate, utilizați SELECT
:
- SELECT * FROM sharks;
Vă veți vedea intrările inserate anterior:
Output1|Sammy|Greenland Shark|4272|Alyoshka|Great White Shark|6003|Himari|Megaladon|1800
Pentru a vizualiza o intrare în funcție de id
(valorile pe care le-am setat manual), adăugați comanda WHERE
la interogarea dumneavoastră:
- SELECT * FROM sharks WHERE id IS 1;
Aceasta va returna rechinul al cărui id
este egal cu 1
:
Output1|Sammy|Greenland Shark|427
Să ne uităm mai atent la această comandă.
- În primul rând,
SELECT
toate (*
) valorile din baza noastră de date,sharks
. - După aceea ne uităm la toate valorile
id
. - După aceea returnăm toate intrările din tabel în care
id
este egal cu1
.
Până acum ați creat un tabel, ați inserat date în el și ați interogat acele date salvate. Acum veți actualiza tabelul existent.
Pasul 5 – Actualizarea tabelelor în SQLite
În următoarele două secțiuni veți adăuga mai întâi o nouă coloană în tabelul existent și apoi veți actualiza valorile existente în tabel.
Aducerea de coloane în tabelele SQLite
SQLite vă permite să modificați tabelul folosind comanda ALTER TABLE
. Aceasta înseamnă că puteți crea rânduri și coloane noi sau modifica rândurile și coloanele existente.
Utilizați ALTER TABLE
pentru a crea o nouă coloană. Această nouă coloană va urmări vârsta fiecărui rechin în ani:
- ALTER TABLE sharks ADD COLUMN age integer;
Acum aveți o a cincea coloană, age
.
Updating Values in SQLite Tables
Utilizând comanda UPDATE
, adăugați noi valori age
pentru fiecare dintre rechinii dumneavoastră:
- 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
În acest pas ați modificat compoziția tabelului dumneavoastră și apoi ați actualizat valorile din interiorul tabelului. În pasul următor veți șterge informații dintr-un tabel.
Pasul 6 – Ștergerea informațiilor în SQLite
În acest pas veți șterge intrările din tabelul dumneavoastră pe baza evaluării unui argument.
În următoarea comandă vă interoghează baza de date și cereți ca aceasta să șteargă toți rechinii din tabelul sharks
a căror vârstă este mai mică de 200 de ani:
- DELETE FROM sharks WHERE age <= 200;
Tiparea SELECT * FROM sharks;
va verifica dacă Alyoshka
și Himari
, care aveau fiecare mai puțin de 200 de ani, au fost șterși. A rămas doar Sammy
rechinul de Groenlanda:
Output1|Sammy|Greenland Shark|427|272
Pasul 7 – Îmbinarea informațiilor în SQLite
Să ne imaginăm că avem două tabele: tabelul nostru actual sharks
și un tabel endangered
. Acum, ce s-ar întâmpla dacă tabelul endangered
ar avea o valoare id
care să se potrivească cu id
-urile din tabelul sharks
și ar avea, de asemenea, o valoare status
care să indice starea de conservare a fiecărui rechin?
Dacă ați dori să interogați datele din ambele tabele, ați putea folosi una dintre cele patru comenzi de îmbinare ale SQLite:
INNER JOIN
OUTER JOIN
LEFT JOIN
CROSS JOIN
Să creăm acel al doilea tabel și apoi să folosim INNER JOIN
pentru a îmbina unele date.
În primul rând, creați tabelul endangered
:
- CREATE TABLE endangered (id integer NOT NULL, status text NOT NULL);
- INSERT INTO endangered VALUES (1, "near threatened");
Acum alăturați tabelele:
- SELECT * FROM sharks INNER JOIN endangered on sharks.id = endangered.id;`
Lovitura dvs. va arăta astfel:
Output1|Sammy|Greenland Shark|427|272|1|near threatened
Rețineți că ieșirea include și valoarea id
din endangered
. Puteți specifica ieșirea dorită cu o comandă mai explicită:
- SELECT sharks.id, sharks.name, sharks.sharktype, sharks.length, sharks.age, endangered.status FROM sharks INNER JOIN endangered on sharks.id = endangered.id;
De data aceasta, ieșirea exclude a doua valoare id
:
Output1|Sammy|Greenland Shark|427|272|near threatened
Aveți acum alăturat cu succes informații din mai multe tabele.
Concluzie
SQLite este un instrument util pentru gestionarea bazelor de date. Se poate crea rapid o bază de date și o poate manipula cu diverse comenzi. În urma acestui tutorial, aveți acum o înțelegere de bază a SQLite și sunteți pregătit să vă scufundați mai adânc în acest sistem de gestionare a bazelor de date.
Pentru o prezentare excelentă a sistemelor de baze de date relaționale și a modului în care acestea se compară, consultați articolul nostru, SQLite vs. MySQL vs. PostgreSQL: A Comparison Of Relational Database Management Systems.
În plus, multe limbaje mențin integrări cu SQLite. Pentru instrucțiuni privind utilizarea SQLite în interiorul codului Python, consultați tutorialul nostru, How To Use the sqlite3
Module in Python 3.
.