Een Overzicht van Het Maken van Databases met Python

Python biedt verschillende modules voor het werken met databases, waaronder sqlite3, MySQLdb en psycopg2. Deze modules stellen je in staat om eenvoudig te interageren met databases om gegevens efficiënt op te slaan, op te vragen en te manipuleren. Je kunt databases effectief en efficiënt bouwen, wijzigen en beheren met een basiskennis van de Pythontaal en SQL-syntaxis.

Stappen voor het aanmaken van een database met behulp van Python

Stap 1

Installeer een databaseadapter die overeenkomt met het databasebeheersysteem dat je wilt gebruiken. Als je bijvoorbeeld SQLite wilt gebruiken, kun je het sqlite3-module installeren. Voor MySQL kun je de MySQLdb-module installeren, en voor PostgreSQL kun je psycopg2 installeren. In deze tutorial zullen we SQLite, MongoDB en MySQLdb beschouwen. Om SQLite in je Python-code te gebruiken, importeer je de sqlite3-module:

Python

 

import sqlite3

Zodra je de juiste module hebt geïnstalleerd, moet je een verbinding tot stand brengen met de database, die als een brug fungeert tussen de Python-code en de database, waardoor je commando’s kunt sturen en resultaten kunt ontvangen. Bijvoorbeeld, in SQLite kun je een verbinding maken met het volgende codevoorbeeld. 

Voor een voorbeeld van een database genaamd school.db, verbind je als volgt, zoals weergegeven in de onderstaande code:

Python

 

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

Stap 2

Maak tabellen in de database. Om tabellen aan te maken in een database, moet je SQL-instructies schrijven met behulp van het cursor-object dat je krijgt van de verbinding. Bijvoorbeeld, om een tabel met de naam “employees” te maken met kolommen “id,” “username,” salary, department, en “email,” gebruik je de volgende code:

Python

 

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

cursor = conn.cursor()



cursor.execute('''

CREATE TABLE employees (

  id INTEGER PRIMARY KEY,

  username TEXT,

  email,

  salary REAL,

  department TEXT

)

''')

Stap 3

Voeg, werk en haal gegevens op uit de database met behulp van SQL-commando’s en het cursor-object. Om gegevens toe te voegen aan de tabellen, kun je de “INSERT INTO” SQL-instructie gebruiken. Sla de gegevens op met de `commit()` methode. Bijvoorbeeld, het volgende codevoorbeeld voegt gegevens toe aan de “employees” tabel:

Python

 

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

cursor = conn.cursor()



cursor.execute("INSERT INTO employees (username, email, salary, department) VALUES ('Joseph', 'joseph@gmail,com' 70000, 'IT')")



conn.commit()

Stap 4

Haal gegevens op uit de tabellen. Om gegevens op te halen uit de tabellen, kun je de “SELECT” SQL-instructie gebruiken. Bijvoorbeeld, om alle gebruikers op te halen uit de “users” tabel, kun je de volgende code gebruiken:

Python

 

cursor.execute("SELECT * FROM employees")
rows = cursor.fetchall()
for row in rows:

    print(row)

Stap 5

Maak weergaven aan door een CREATE VIEW-instructie uit te voeren, en gebruik de `execute()` methode van het cursor-object om een CREATE VIEW-instructie uit te voeren.

Python

 

# Voer de CREATE VIEW-instructie uit
cursor.execute('''

CREATE VIEW employees_view AS

SELECT name, age, department, email, FROM employees;

''')

Stap 6 

Sluit de verbinding. Zodra je klaar bent met werken met de database, is het belangrijk om de verbinding te sluiten om de resources vrij te geven. Je kunt de verbinding sluiten door de close() methode van het verbindingsobject te gebruiken. Bijvoorbeeld:

Python

 

conn.commit()
conn.close()

Voorbeeld voor MySQLdb

Om een database te creëren in MySQLdb, importeer je het MYSQLdb-module en maak je verbinding met de database met behulp van de `connect()` methode. Je kunt een cursor aanmaken en deze gebruiken om SQL-commando’s uit te voeren. De `execute ()` methode wordt gebruikt om een tabel te creëren en gegevens in te voegen. Na het doorvoeren van de wijzigingen, gebruiken we de cursor om gegevens uit de tabel te selecteren en alle gegevens op te halen met behulp van de `fetchall()` methode. En tenslotte sluiten we de cursor en de verbinding met de database.

Python

 

import MySQLdb

# Maak verbinding met de database


conn = MySQLdb.connect(host="localhost", user="std", passwd="@12343!J", db="school.db")
# Creëer een cursor om SQL-commando's uit te voeren


cursor = conn.cursor()
# Creëer een tabel


cursor.execute("""

CREATE TABLE employees (

  id INT AUTO_INCREMENT PRIMARY KEY,

  name VARCHAR(255),

  salary DECIMAL(10,2),

  department VARCHAR(255)

)

""")
# Voeg gegevens in de tabel toe


cursor.execute("""

INSERT INTO employees (name, salary, department)

VALUES

    ("Joseph", 70000, "IT"),

    ("Jane", 80000, "Marketing")

""")
# Commit de wijzigingen aan de database


conn.commit()
# Selecteer gegevens uit de tabel


cursor.execute("SELECT * FROM employees")



# Haal alle gegevens op


employees = cursor.fetchall()
# Print de gegevens


for employee in employees:

    print(employee)
# Sluit de cursor en de verbinding


cursor.close()

conn.close()

Voorbeeld voor MongoDB

Importeer het pymongo module en maak verbinding met de database met behulp van de `MongoClient()` klasse. Je krijgt dan een referentie naar de database en de verzameling die gelijkstaat aan een tabel in SQL. De `inser _many()` methode wordt gebruikt om gegevens in de verzameling in te voegen. De `find()` methode wordt gebruikt om gegevens uit de verzameling te zoeken, en de gegevens worden opgehaald met behulp van een for-lus. En tenslotte sluiten we de verbinding met de database met behulp van de `close()` methode.

Python

 

from pymongo import MongoClient
# Maak verbinding met de database


client = MongoClient("mongodb://localhost:27017/")
# Krijg een referentie naar de database


db = client["school.db"]
# Krijg een referentie naar de verzameling (gelijk aan een tabel in SQL)


collection = db["employees"]



# Voeg gegevens in de verzameling toe


employee1 = { "name": "Joseph", "salary": 70000, "department": "IT" }

employee2 = { "name": "Jane", "salary": 80000, "department": "Marketing" }

collection.insert_many([employee1, employee2])
# Zoek gegevens uit de verzameling


employees = collection.find()
# Print de gegevens


for employee in employees:

    print(employee)
# Sluit de verbinding
client.close()

Conclusie

In conclusie biedt Python verschillende modules om te communiceren met verschillende databases, zoals MySQL en MongoDB. De MySQLdb module wordt gebruikt om te communiceren met een MySQL-database, en de pymongo module wordt gebruikt om te communiceren met een MongoDB-database. Beide modules maken het gemakkelijk voor ontwikkelaars om veel voorkomende database-operaties uit te voeren, zoals het maken van tabellen, het invoegen van gegevens, het opvragen van gegevens, en meer. Met de eenvoud en gebruiksvriendelijkheid van Python is het uitgegroeid tot een populaire keuze voor het ontwikkelen van databasegestuurde toepassingen. Of je nu een beginner of een ervaren ontwikkelaar bent, het gebruik van deze modules zal werken met databases in Python een fluitje van een cent maken.

Source:
https://dzone.com/articles/an-overview-of-creating-databases-with-python-2