# [Python] BDD SQLite3

## Introduction

Python prend en charge la manipulation de base de donnée notamment avec SQLite3.

[![image.png](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/scaled-1680-/JaIimage.png)](https://wiki.neopipe.fr/uploads/images/gallery/2024-02/JaIimage.png)

## Manuel

#### Connexion à la base de donnée

```python
import sqlite3
conn = sqlite3.connect('ma_base_de_donnees.db')
cur = conn.cursor()
```

#### Création d'une table

```python
cur.execute('''CREATE TABLE IF NOT EXISTS ma_table (
                id INTEGER PRIMARY KEY,
                nom TEXT NOT NULL,
                age INTEGER)''')
conn.commit()
```

#### Insertion de données

```python
cur.execute("INSERT INTO ma_table (nom, age) VALUES (?, ?)", ('Jean', 30))
conn.commit()
```

#### Sélection de données

```python
cur.execute("SELECT * FROM ma_table")

rows = cur.fetchall()
for row in rows:
    print(row)
```

#### Mise à jour des données

```python
cur.execute("UPDATE ma_table SET age = ? WHERE nom = ?", (40, 'Jean'))
conn.commit()
```

#### Suppressions des données

```python
cur.execute("DELETE FROM ma_table WHERE nom = ?", ('Jean',))
conn.commit()
```

#### Fermeture de la connexion à la base de donnée

```python
# Fermeture du curseur et de la connexion
cur.close()
conn.close()
```