# Hoe MariaDB te verbinden met Python

U kunt Python en MariaDB gebruiken om **een database** efficiënt **te koppelen** aan applicaties en informatie te verwerken. De combinatie van Python en MariaDB is met name geschikt voor webapps, data-analyse en het automatiseren van rapportages.

## Wat zijn de voorwaarden?

Je moet aan de volgende vereisten voldoen om Python-programma’s met MariaDB te verbinden:

- **Python-installaties**: Python moet op uw systeem zijn geïnstalleerd. Zorg ervoor dat u een versie gebruikt die door MariaDB wordt ondersteund.
- **MariaDB-database**: U moet beschikken over een functionele MariaDB-database. U kunt een lokale MariaDB-installatie gebruiken of een verbinding maken met een externe database.
- **Toegangsgegevens voor de database**: u hebt informatie nodig zoals de hostnaam, poort, databasenaam, gebruikersnaam en wachtwoord om verbinding te maken met de MariaDB-database.
- **Python-module**: De Python/Connector-module voor verbinding met MariaDB moet zijn geïnstalleerd.

## Hoe MariaDB met Python voor te bereiden en te installeren

Er zijn twee opties om toegang te krijgen tot een MariaDB-server. U kunt een MariaDB-server op uw eigen computer of server installeren of het MariaDB-platform in de cloud gebruiken.

### Optie 1: MariaDB op hardware installeren

Het downloaden en installeren van het **MariaDB-pakket** op uw eigen hardware is vrij eenvoudig. Hier volgt een stapsgewijze handleiding:

**Stap 1: Controleer de systeemvereisten**

Controleer de vereisten voor het installeren van MariaDB op uw systeem. Zorg ervoor dat uw hardware voldoet aan de minimumvereisten, zoals voldoende schijfruimte en geheugen.

**Stap 2: Download MariaDB**

Ga naar de officiële website van MariaDB en selecteer de download voor uw besturingssysteem (Windows, Linux of macOS). Zorg ervoor dat u de juiste versie voor uw systeem kiest.

**Stap 3: Pakket installeren**

Download het pakket voor uw besturingssysteem en architectuur (32 bit of 64 bit). Nadat het downloaden is voltooid, voert u de installatie uit. De installatie start op verschillende besturingssystemen op verschillende manieren. Om bijvoorbeeld [MariaDB op Ubuntu 20.04 te installeren](https://www.ionos.com/nl-be/digitalguide/hosting/technische-zaken/mariadb-installeren-op-ubuntu-2004/), voert u de opdracht `sudo apt install mariadb-server` in.

**Stap 4: Configureer de database**

Nu moet u de MariaDB-server configureren. Dit omvat het opgeven van toegangsgegevens, beveiligingsinstellingen en andere databaseparameters.

**Stap 5: Start MariaDB**

Start de MariaDB-serverservice. In Windows kunt u dit doen met **Service Manager**. In Linux en macOS kunt u dit doen via de opdrachtregel met `sudo systemctl start mariadb` of `sudo service mariadb start`.

**Stap 6: Voer de eerste configuratie uit**

Na het starten van MariaDB configureert u het met behulp van het commando `mysql_secure_installation`. Met dit commando kunt u belangrijke beveiligingsinstellingen definiëren, zoals wachtwoorden en het verwijderen van testaccounts.

**Stap 7: Test de toegang tot de database**

Controleer of u verbinding kunt maken met de database. Log in als rootgebruiker met `mysql -u root -p`. Voer uw wachtwoord in en voer enkele eenvoudige SQL-query’s uit om te controleren of de server correct werkt.

### Optie 2: MariaDB SkySQL gebruiken

MariaDB SkySQL is een **cloudgebaseerd databaseprogramma** waarmee je MariaDB-databases in de cloud kunt gebruiken. Het programma bevat de MariaDB Enterprise Server en biedt automatische schaalbaarheid, hoge beschikbaarheid en geïntegreerde beveiligingsfuncties.

**Stap 1: Registreer en log in**

Ga naar de officiële website van MariaDB SkySQL en registreer een account, als u dat nog niet hebt gedaan. Log vervolgens in.

**Stap 2: Maak een nieuwe service aan**

Nadat u bent ingelogd, wordt u doorgestuurd naar de startpagina van SkySQL. Klik op de knop om een nieuwe databaseservice aan te maken. Kies een servicetype. U kunt kiezen uit verschillende MariaDB-platforms, waaronder **MariaDB Enterprise Server** en andere databaseservices.

**Stap 3: Configureer de service**

Configureer de service, inclusief het selecteren van een MariaDB-versie, databasecapaciteit en andere **resourceparameters**. U kunt ook opties kiezen voor hoge beschikbaarheid en automatische schaalbaarheid. Definieer de authenticatie- en beveiligingsinstellingen. Dat omvat het configureren van gebruikersnamen en wachtwoorden en het beheren van de toegang tot de database.

**Stap 4: Maak verbinding met de database**

Nadat de service is geïmplementeerd, ontvangt u informatie over de hostnaam, poort, gebruikersnaam en wachtwoord. Gebruik deze informatie om verbinding te maken met uw database. Voer enkele eenvoudige query’s uit om te controleren of de service werkt.

**Stap 5: Controleer en beheer de database**

MariaDB SkySQL biedt **monitoring- en analysetools** voor het bewaken van de prestaties van uw database. Gebruik deze tools om ervoor te zorgen dat uw database optimaal presteert. Indien nodig kunt u uw database beheren en schalen door uw resourceparameters aan te passen of extra functies te activeren.

## Hoe verbinding maken met de MariaDB-server

U kunt de MariaDB-bibliotheek voor Python gebruiken om verbinding te maken met een MariaDB-database en databasebewerkingen uit te voeren, zoals het opvragen, invoegen of bijwerken van gegevens. Installeer de bibliotheek met behulp van de **pakketbeheerder** `pip`:

```shell
pip3 install mariadb
```

Nu kun je verbinding maken met MariaDB met Python.

### Stap 1: Maak een verbinding

Eerst moet u de bibliotheek importeren en een verbinding met uw MariaDB-database tot stand brengen. Hiervoor hebt u informatie nodig zoals de hostnaam, poort, databasenaam, gebruikersnaam en wachtwoord.

```python
import mariadb
# Database connection details
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Standard port for MariaDB
}
# Establishing the connection
conn = mariadb.connect(**db_config)
# Create a cursor to execute queries
cursor = conn.cursor()
```

De **cursor** is een object dat u kunt gebruiken om databasebewerkingen uit te voeren in een relationele database zoals MariaDB. Deze bewerkingen omvatten bijvoorbeeld SQL-query’s en het verwerken van gegevens. In Python ontvangt u een cursor nadat u een verbinding met de database tot stand hebt gebracht. U kunt deze ophalen met behulp van de methode `cursor()`.

### Stap 2: Gegevens opvragen

Nu gaan we de cursor gebruiken om SQL-query’s uit te voeren en gegevens uit de database op te halen.

```python
# Define the SQL query
sql_query = "SELECT * FROM your_table"
# Execute the query
cursor.execute(sql_query)
# Fetch results
results = cursor.fetchall()
# Display data
for row in results:
    print(row)
```

### Stap 3: Gegevens invoeren

Om gegevens in een tabel in te voegen, definieert u een **SQL INSERT-query** en voert u deze uit met behulp van de cursor.

```python
# Define the SQL insert query
insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
# Values to insert
values = ('value1', 'value2')
# Execute the insert query
cursor.execute(insert_query, values)
# Commit the transaction
conn.commit()
```

De SQL INSERT-instructie geeft aan in welke tabel (`your_table`) en welke kolommen (`column1` en `column2`) u gegevens invoert. Plaatshouders zoals `%s` staan voor de waarden die worden ingevoegd. De tuple `values` bevat de overeenkomstige waarden die u in de database invoert. De cursor voert de **INSERT-query uit** met de waarden die u opgeeft. Ten slotte bevestigt de methode `conn.commit()` de transactie om ervoor te zorgen dat de wijzigingen permanent in de database worden opgeslagen.

### Stap 4: Sluit de verbinding

Zodra de databasebewerkingen zijn voltooid, sluit u de cursor en de verbinding om bronnen vrij te maken.

```python
# Close cursor and connection
cursor.close()
conn.close()
```

### Stap 5: Fouten afhandelen

Het is belangrijk om foutafhandeling op te nemen, zodat u eventuele uitzonderingen kunt opvangen die zich voordoen bij het tot stand brengen van de verbinding of het uitvoeren van query’s.

```python
try:
        # Establish the connection
        conn = mariadb.connect(**db_config)
        # Create a cursor
        cursor = conn.cursor()
        # Execute the query
        cursor.execute(sql_query)
        # Fetch results
        results = cursor.fetchall()
        for row in results:
            print(row)
    except mariadb.Error as err:
        print(f"Error: {err}")
    finally:
        # Close cursor and connection
        if cursor:
            cursor.close()
        if conn:
            conn.close()
```

U kunt deze basisstructuur aanpassen aan uw specifieke toepassing en verschillende databasebewerkingen implementeren.

Hier is de volledige code:

```python
import mariadb
# Database connection details
db_config = {
    'user': 'your_username',
    'password': 'your_password',
    'host': 'your_hostname',
    'database': 'your_database',
    'port': 3306  # Standard port for MariaDB
}
try:
    # Establishing the connection
    conn = mariadb.connect(**db_config)
    # Create a cursor to execute queries
    cursor = conn.cursor()
    # Define the SQL query
    sql_query = "SELECT * FROM your_table"
    # Execute the query
    cursor.execute(sql_query)
    # Fetch results
    results = cursor.fetchall()
    # Display data
    for row in results:
        print(row)
    # Define the SQL insert query
    insert_query = "INSERT INTO your_table (column1, column2) VALUES (%s, %s)"
    # Values to insert
    values = ('value1', 'value2')
    # Execute the insert query
    cursor.execute(insert_query, values)
    # Commit the transaction
    conn.commit()
except mariadb.Error as err:
    print(f"Error: {err}")
finally:
    # Close cursor and connection
    if cursor:
        cursor.close()
    if conn:
        conn.close()
```


This is a markdown version of: [https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-mariadb/](https://www.ionos.com/nl-be/digitalguide/websites/webontwikkeling/python-mariadb/) for AI/LLM consumption.