Databasebeheer in Python

In het informatietijdperk waarin we leven, kunnen we zien hoeveel gegevens de wereld uitwisselt. We zijn in essentie bezig met het maken, opslaan en ophalen van gegevens! Er zou een manier moeten zijn om dat allemaal aan te pakken - het zou niet overal verspreid kunnen worden zonder enig management, toch? Hier komt het databasebeheersysteem (DBMS).

De DBMS is een softwaresysteem waarmee u gegevens uit een database kunt maken, opslaan, wijzigen, ophalen en op andere manieren kunt verwerken. Zulke systemen variëren ook in grootte, variërend van kleine systemen die gewoon op je pc draaien tot grotere systemen die op mainframes draaien.

Onze focus in deze tutorial ligt op Python in plaats van databaseontwerp. Ja, Python is wonderwel in staat om te communiceren met databases, en dit is wat ik je in deze tutorial ga laten zien.

Laten we beginnen!

Python Database API

Zoals hierboven vermeld, kan Python communiceren met databases. Maar hoe kan het dat doen? Python gebruikt de zogenaamde Python Database API om te communiceren met databases. Met deze API kunnen we verschillende databasebeheersystemen (DBMS) programmeren. Voor die verschillende DBMS is het proces dat op het codeniveau wordt gevolgd hetzelfde, en wel als volgt:

  1. Stel een verbinding naar uw gewenste database.
  2. Maak een cursor om te communiceren met de gegevens.
  3. Manipuleer de gegevens met behulp van SQL (op elkaar inwerken).
  4. Vertel de verbinding om de SQL-manipulaties toe te passen op de gegevens en ze permanent te maken (plegen), of vertel het om die manipulaties af te breken (terugrollen), waardoor de gegevens in de staat worden teruggebracht voordat de interacties plaatsvonden.
  5. Dichtbij de verbinding met de database.

SQLite

SQLite is een open-source, volledig functionele, op zichzelf staande (vereist weinig ondersteuning van externe bibliotheken), zonder server (vereist geen server om de database-engine uit te voeren, en is een lokaal opgeslagen database), nul-configuratie (niets installeren of configureren), op SQL gebaseerd lichtgewicht databasebeheersysteem (SQL-query's kunnen op SQLite-tabellen worden uitgevoerd) en gebruikt een gegevensbestand om gegevens op te slaan.

Het leuke om te weten is dat SQLite wordt gebruikt door grote bedrijven zoals Google, Apple, Microsoft, etc., waardoor het zeer betrouwbaar is. In deze tutorial gaan we SQLite gebruiken om te communiceren met de database, en meer specifiek werken met de sqlite3-module in Python.

Python en SQLite

Zoals hierboven vermeld, houdt het werken met databases in vijf hoofdstappen. Laten we die stappen in actie zien.

1. Breng een verbinding tot stand met uw database van keuze

Deze stap wordt als volgt bereikt:

conn = sqlite3.connect ('company.db')

Zoals vermeld in de sqlite3 documentatie:

Om de module te gebruiken, moet u eerst een maken Verbinding object dat de database vertegenwoordigt.

In de bovenstaande code, merk op dat de gegevens in het bestand worden opgeslagen company.db.

2. Creëer een cursor om met de gegevens te communiceren

De volgende stap in het werken met de database is het maken van een cursor, als volgt:

curs = conn.cursor ()

3. Manipuleer de gegevens met behulp van SQL

Na verbinding te hebben gemaakt met de database en een cursor te maken, zijn we nu klaar om met gegevens te werken (interacteren). Met andere woorden, we kunnen nu SQL-opdrachten uitvoeren in de database company.db.

Laten we zeggen dat we een nieuwe tabel willen maken werknemer in onze database bedrijf. In dit geval moeten we een SQL-opdracht uitvoeren. Om dat te doen, zullen we de execute () methode van de sqlite3 module. De Python-verklaring ziet er dus als volgt uit:

curs.execute ('create table employee (name, age)')

Deze instructie voert een SQL-opdracht uit waarmee een tabel met de naam wordt gemaakt werknemer, met twee kolommen (velden) naam en leeftijd.

We kunnen nu een nieuwe SQL-opdracht uitvoeren die als volgt gegevens in de tabel invoegt:

curs.execute ("invoegen in werknemerswaarden ('Ali', 28)") 

U kunt ook meerdere waarden tegelijk invoegen, als volgt:

waarden = [('Brad', 54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]

In dit geval, in plaats van de methode te gebruiken execute (), we zullen de methode gebruiken executemany () om de bovenstaande meerdere waarden uit te voeren.

curs.executemany ('invoegen in werknemerswaarden (?,?)', waarden)

4. Breng de wijzigingen tot stand

In deze stap willen we de wijzigingen die we in de vorige stap hebben aangebracht (commit) toepassen. Dit gaat eenvoudigweg als volgt:

conn.commit ()

5. Sluit de verbinding met de database

Na het uitvoeren van onze manipulaties en het uitvoeren van de wijzigingen, zal de laatste stap zijn om de verbinding te sluiten:

conn.close ()

Laten we alle stappen samenvoegen in één script. Het programma ziet er als volgt uit (merk op dat het moet importeren de sqlite3 module eerst):

import sqlite3 conn = sqlite3.connect ('company.db') curs = conn.cursor () curs.execute ('create table employee (name, age)') curs.execute ("invoegen in werknemerswaarden ('Ali', 28) ") waarden = [('Brad', 54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)] curs.executemany ('invoegen in werknemerswaarden (? ,?) ', waarden) conn.commit () conn.close () 

Als u het script uitvoert, krijgt u een bestand met de naam company.db in je huidige map. Download dit bestand, we zullen het in de volgende stap gebruiken.

Laten we door de database bladeren

Nadat we een database en een tabel hebben gemaakt en wat gegevens hebben toegevoegd, laten we zien wat erin zit company.db (het bestand dat je hebt gedownload in de bovenstaande sectie). Hiervoor gaan we een mooie tool gebruiken: DB Browser voor SQLite. Ga je gang en download de tool op je machine. Zodra je het programma opent, zou je een scherm moeten krijgen dat er als volgt uitziet:

Open de database met behulp van de Open Database knop bovenaan, in welk geval u de Database structuur, als volgt:

Merk op dat we de tafel hebben werknemer vermeld, met twee velden naam en leeftijd.

Om te bevestigen dat onze code hierboven werkte en de gegevens zijn toegevoegd aan de tabel, klikt u op de Door gegevens bladeren tab. Je zou iets als het volgende moeten zien:

Dus, zoals je kunt zien, een database (bedrijf) en een tafel (werknemer) zijn gemaakt en gegevens zijn met succes aan de tabel toegevoegd.

Deze tutorial was een krasje aan de oppervlakte om je op weg te helpen met het werken met databases met Python. U kunt meer informatie krijgen over meer methoden uit de sqlite3 module, waar u verschillende databasebewerkingen kunt uitvoeren, zoals het bijwerken en opvragen van de database. Veel plezier!