Contenu du cours
Bases de Données en Python
Bases de Données en Python
Types de Données
SQLite fournit plusieurs types de données, ou classes de stockage, pour définir le type de données qui peuvent être stockées dans une table. Bien que SQLite soit typé dynamiquement et n'impose pas de types de données stricts, il reconnaît cinq principaux types d'affinité.
Créer une Table avec Différents Types de Données
Voici un exemple de création d'une table qui utilise divers types de données SQLite :
SQLite vous permet de stocker des données de n'importe quel type dans n'importe quelle colonne, indépendamment du type déclaré lors de la création de la table (sauf pour les colonnes INTEGER PRIMARY KEY
). Il utilise également une approche qui aide à interpréter et stocker correctement les données, garantissant que tout fonctionne de manière fluide et efficace.
import sqlite3 conn = sqlite3.connect('data.db') cursor = conn.cursor() # Creating the table cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER ) ''') # Inserting different types of data into the `age` column cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)") # standard value cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 'Thirty')") # text value in `INTEGER` column cursor.execute("INSERT INTO users (name, age) VALUES ('Charlie', 30.5)") # float value in `INTEGER` column # Retrieving all records from the table cursor.execute("SELECT * FROM users") rows = cursor.fetchall() # Printing the results for row in rows: print(row) # Closing the database connection conn.close()
Cet exemple démontre comment SQLite permet d'insérer différents types de données dans la même colonne, même si la colonne est déclarée comme INTEGER
. Par exemple, dans la colonne age
(déclarée comme INTEGER
), les données suivantes sont insérées :
- Un entier (
25
); - Une valeur texte (
'Thirty'
); - Une valeur flottante (
30.5
).
SQLite ne restreint pas les types de données que vous pouvez insérer dans une colonne, grâce à son système de typage dynamique. Cette approche permet de stocker une variété de types de données dans une seule colonne sans erreurs.
1. Dans SQLite, quel type de données est utilisé pour représenter l'absence d'une valeur ?
2. Que se passera-t-il si vous essayez d'insérer une valeur texte dans une colonne INTEGER dans SQLite ?
Merci pour vos commentaires !