SQLite

Cum se accesează SQLite din Python

Cum se accesează SQLite din Python
Python este un limbaj de programare popular și robust, bogat în caracteristici care îl fac utilizabil într-o gamă largă de cazuri, cum ar fi știința datelor, rețelele, automatizarea IT, testarea penetrării și multe altele. De asemenea, are o sintaxă simplă care permite dezvoltatorilor care cunosc alte limbaje de programare să se adapteze cu ușurință la utilizarea Python.Datele sunt peste tot și o gamă largă de aplicații software interacționează cu datele folosind un sistem de gestionare a bazelor de date. SQLite este unul dintre cele mai populare sisteme de gestionare a bazelor de date din Python.

SQLite este un motor de baze de date simplu, puternic, open-source și relațional, care acceptă aplicații software mari și sisteme încorporate. SQLite este independent și necesită o configurație minimă, ceea ce îl face extrem de ușor de configurat și rulat cu timp minim. În mod implicit, Python este încorporat cu un modul SQLite (sqlite3), un modul foarte intuitiv pentru lucrul cu bazele de date SQLite în Python.

În acest tutorial, vom analiza cum să utilizați Python pentru a lucra cu baze de date SQLite. De la stabilirea unei conexiuni la crearea bazelor de date, citirea bazelor de date, actualizarea și eliminarea bazelor de date.

Să începem prin instalarea SQLite:

Instalarea SQLite și Python

În funcție de distribuția Linux, puteți descărca arhiva SQLite de pe https: // www.sqlite.org / download.html sau utilizați managerul de pachete.

Pentru a-l instala pe Debian:

sudo apt-get update
sudo apt-get install sqlite -y

Apoi, ar trebui să aveți instalată cea mai recentă versiune de Python3. Python ar trebui să fie deja preinstalat în distribuția dvs. în mod implicit.

SQLite Shell

Metoda implicită pentru a interacționa cu bazele de date SQLite este utilizarea shell-ului. Shell-ul vă permite să executați comenzi SQL în linie sau o colecție pentru a efectua funcții pe baze de date.

Pentru a lansa shell-ul SQLite, utilizați comanda:

$ sqlite

SQLite versiunea 2.8.17 Introduceți „.ajutor ”pentru instrucțiuni

sqlite>

Aceasta ar trebui să lanseze shell-ul SQLite cu un prompt care vă permite să introduceți comenzi. Începeți tastând comanda .ajutor pentru a vizualiza ajutorul shell.

sqlite> .Ajutor
.baze de date Listează numele și fișierele bazelor de date atașate
.dump ?MASA?… Renunțați la baza de date într-un format text
.echo ON | OFF Activați sau dezactivați comanda echo
.exit Ieșiți din acest program
.explicați ON | OFF Activați sau dezactivați modul de ieșire adecvat pentru EXPLAIN.
.header (s) ON | OFF Activați sau dezactivați afișajul antetelor
.ajutor Arată acest mesaj
.indicii TABLE Afișează numele tuturor indicilor pe TABLE
.mode MODE Setați modul la una dintre „linie (e)”, „coloană (e)”,
„inserare”, „listă” sau „html”
----------------------------------------------------------------------

Pentru a ieși din shell-ul SQLite, utilizați .renunță la comandă.

sqlite> .părăsi

Există alte funcții și operații pe care le puteți utiliza în interiorul shell-ului SQLite. De exemplu, pentru a vizualiza toate bazele de date, puteți utiliza fișierul .comanda bazei de date.

Vă recomand cu tărie să experimentați cu shell-ul SQLite și să vă familiarizați, deoarece vă va permite să înțelegeți cum să utilizați modulul SQLite3 în Python.

Conectarea la o bază de date

Să folosim acum modulele Python și SQLite3 pentru a interacționa cu bazele de date SQLite. Este bine să rețineți că există alte module Python pe care le puteți utiliza pentru a interacționa cu SQLite. Cu toate acestea, SQLite3 este simplu și vine la pachet cu Python.

Luați în considerare scriptul de mai jos pentru a vă conecta la baza de date SQLite.

import sqlite3 din sqlite3 import Eroare
def connect_db (db_path):
conexiune = Niciuna nu încercați:
conexiune = sqlite3.conectare (db_path)
print ("Baza de date este conectată cu succes")
cu excepția Eroare ca e:
print (f "A apărut o eroare: e")
retur conexiune
connect_db ("/ acasă / utilizator / Desktop / demo.sqlite ")

Începem prin importarea modulelor SQLite și Error.
În linia 3, creăm o funcție connect_db () care ia calea bazei de date ca argument.
Următoarea parte include un bloc de încercare / eroare. Prima parte ia calea bazei de date ca argument și stabilește o conexiune. Rețineți, în SQLite, dacă baza de date specificată nu există, se creează automat.
Blocul de eroare încearcă să prindă excepții și să le imprime utilizatorului.
În linia finală, numim funcția connect_db și trecem calea către baza de date pe care dorim să o folosim sau să o creăm.

NOTĂ: Dacă doriți să creați o bază de date de memorie în locul unui disc, puteți specifica: memorie în obiectul de conectare.

sqlite3.conectare („: memory”)

SQLite Create Table

În SQLite, putem folosi shell-ul SQL pentru a crea tabele utilizând interogarea CREATE TABLE. Sintaxa generală este următoarea:

CREATE TABLE nume_bază de date.nume_tabel (
nume_coloană tip de date CHEIE PRIMARĂ (coloane),
column2_name nume de date,
… Tip de date columnN_name,
);

Nu mă voi scufunda în crearea de tabele folosind SQLite shell deoarece obiectivul nostru principal este Python. Luați în considerare documentația SQL Lite din resursa de mai jos pentru a afla mai multe. Acum, pentru a utiliza modulele Python și sqlite3 pentru a crea tabele de baze de date, trebuie să folosim obiectul cursor și să executăm funcțiile interogărilor SQL. Luați în considerare codul de mai jos:

import sqlite3 din sqlite3 import Eroare
def connect_db (db_path):
conexiune = Niciuna
încerca:
conexiune = sqlite3.conectare (db_path)
print ("Baza de date este conectată cu succes")
cu excepția Eroare ca e:
print (f "A apărut o eroare: e")
returnează conexiunea def run_query (conexiune, sql_query):
cursor = conexiune.cursor()
încerca:
cursor.executați (sql_query)
conexiune.commit ()
print ("Executarea cu succes a interogării SQL ... [OK]")
cu excepția Eroare ca e:
print (f "Interogarea nu a reușit ... e")
interogare = "" "
CREAȚI TABELUL DACĂ NU EXISTĂ arată (
id AUTOINCREMENT CHEIE PRIMARĂ INTEGRĂ,
nume TEXT NU NUL,
anul INTGER,
gen TEXT,
TEXTul țării
);
"" "
run_query (connection = connect_db ("/ home / user / Desktop / sql.sqlite "), sql_query = interogare)

Să discutăm acum ce face codul de mai sus - găsim prima funcție explicată mai sus (vă rugăm să consultați). În a doua funcție, creați, trecem conexiunea și interogarea de executat ca parametri. Următoarele linii creează un obiect cursor pe care îl vom folosi pentru a apela metoda de executare. După cum s-a menționat mai sus, liniile următoare apelează obiectul cursorului pentru a executa metoda și apelează să treacă interogarea ca parametru. De asemenea, blocul imprimă un mesaj cu privire la executarea cu succes a interogării. Odată ce interogarea se execută cu succes, îi spunem SQLite să utilizeze metoda de validare pentru a salva modificările în baza de date. Blocul exceptie prinde excepții și imprimă mesajul de eroare utilizatorului. În cele din urmă, creăm interogarea pentru a executa folosind sintaxa SQLite simplă.

SQLite Insert Records

Pentru a adăuga date la baza de date SQLite, ne putem scufunda în funcția run_query () pe care am folosit-o pentru a crea deoarece poate rula orice interogare SQLite pe care i-o transmitem. Cu toate acestea, folosim interogarea INSERT INTO pentru a adăuga date în tabel.

Luați în considerare blocul de mai jos:

add_shows = "" "
INTRODU IN
spectacole (id, nume, an, gen, țară)
VALORI
(„101”, „Brooklyn Nouă-Nouă”, „2013”, „comedie”, „SUA”),
(„201”, „Star-Trek: Discovery”, „2017”, „Sci-Fi”, „SUA”),
(„301”, „Star-Trek: Picard”, „2020”, „Sci-Fi”, „SUA”);
"" "run_query (connection = connect_db (" / home / user / Desktop / sql.sqlite "), sql_query = add_shows)

Acum trebuie să apelăm funcția run_query și să adăugăm trecerea interogării add_shows pentru a insera date în tabelul de spectacole. Asigurați-vă că tabelul în care introduceți date există pentru a evita apariția unei erori.

SQLite Delete Records

De asemenea, puteți utiliza funcția run_query () pentru a elimina înregistrările din tabelul specificat. Tot ce aveți nevoie este să setați interogarea ca ȘTERGERE DE LA.

Luați în considerare următoarea interogare secundară:

remove = "DELETE FROM arată WHERE nume = 'Brooklyn Nine-Nine'" run_query (connection = connect_db ("/ home / user / Deskop / sql.sqlite "), sql_query = eliminare)

Interogarea de mai sus elimină spectacolul „Brooklyn Nine-Nine” din tabelul de spectacole.

Concluzie

Acest tutorial v-a învățat cum să utilizați Python pentru a accesa și interacționa cu bazele de date SQLite. Din ceea ce ați învățat din acest tutorial, puteți acum să creați funcții, să vă conectați la baze de date SQLite, să creați tabele, să inserați date și să le ștergeți. Deși acesta este un ghid de pornire pentru lucrul cu SQLite în Python, acesta ar trebui să vă facă să începeți să învățați alte tehnologii, cum ar fi SQLAlchemy și altele.

Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Cele mai bune jocuri de linie de comandă pentru Linux
Linia de comandă nu este doar cel mai mare aliat al tău când folosești Linux - poate fi și sursa de divertisment, deoarece poți să o folosești pentru ...
Best Gamepad Mapping Apps for Linux
If you like to play games on Linux with a gamepad instead of a typical keyboard and mouse input system, there are some useful apps for you. Many PC ga...