Types de Données
SQLite propose plusieurs types de données, ou classes de stockage, pour définir le type de données pouvant être stocké 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éation d’une table avec différents types de données
Voici un exemple de création d’une table utilisant divers types de données SQLite :
CREATE TABLE example (
id INTEGER PRIMARY KEY, -- Integer (auto-increment if PRIMARY KEY)
name TEXT NOT NULL, -- Text field (mandatory)
price REAL, -- Floating-point number
data BLOB, -- Binary data
created_at TEXT DEFAULT NULL -- Text field with NULL as default
);
SQLite 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 (à l’exception des colonnes INTEGER PRIMARY KEY
). Il utilise également une approche permettant d’interpréter et de stocker correctement les données, garantissant ainsi un fonctionnement fluide et efficace.
1234567891011121314151617181920212223242526272829import 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 illustre comment SQLite permet d'insérer différents types de données dans une 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 textuelle (
'Thirty'
) ; - Une valeur flottante (
30.5
).
SQLite ne limite 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 générer d'erreurs.
1. Dans SQLite, quel type de données est utilisé pour représenter l'absence de valeur ?
2. Que se passe-t-il si vous essayez d'insérer une valeur textuelle dans une colonne INTEGER dans SQLite ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain what "affinity types" mean in SQLite?
What happens if I try to insert incompatible data into an INTEGER PRIMARY KEY column?
Can you give more examples of how dynamic typing works in SQLite?
Awesome!
Completion rate improved to 4.76
Types de Données
Glissez pour afficher le menu
SQLite propose plusieurs types de données, ou classes de stockage, pour définir le type de données pouvant être stocké 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éation d’une table avec différents types de données
Voici un exemple de création d’une table utilisant divers types de données SQLite :
CREATE TABLE example (
id INTEGER PRIMARY KEY, -- Integer (auto-increment if PRIMARY KEY)
name TEXT NOT NULL, -- Text field (mandatory)
price REAL, -- Floating-point number
data BLOB, -- Binary data
created_at TEXT DEFAULT NULL -- Text field with NULL as default
);
SQLite 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 (à l’exception des colonnes INTEGER PRIMARY KEY
). Il utilise également une approche permettant d’interpréter et de stocker correctement les données, garantissant ainsi un fonctionnement fluide et efficace.
1234567891011121314151617181920212223242526272829import 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 illustre comment SQLite permet d'insérer différents types de données dans une 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 textuelle (
'Thirty'
) ; - Une valeur flottante (
30.5
).
SQLite ne limite 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 générer d'erreurs.
1. Dans SQLite, quel type de données est utilisé pour représenter l'absence de valeur ?
2. Que se passe-t-il si vous essayez d'insérer une valeur textuelle dans une colonne INTEGER dans SQLite ?
Merci pour vos commentaires !