![]() |
English |
Documentation
Contacts
Code
|
Adaptateur SQLiteLa seule différence avec le module en pur Python est la syntaxe pour identifier une table et la nécessité de spécifier le type des champs quand on crée une base Pour rester cohérent avec le vocabulaire SQLite, le module définit deux classes, Database
Les instances de
Pour créer une nouvelle table : table = db.create(nom_table,*champs[,mode])
Les champs doivent être des tuples à 2 éléments (nom_champ, type_champ) où type_champ est un type de champ SQLite : db.create('test',('nom','TEXT'),('age','INTEGER'),('taille','REAL'))
S'il faut fournir d'autres informations, les mettre dans le deuxième argument, avec la syntaxe SQL propre à SQLite : db.create('test',('date','BLOB DEFAULT CURRENT_DATE'))
Le mot-clé optionnel mode spécifie ce qu'il faut faire si une table du même nom existe déjà
TablePour l'insertion, la sélection, la mise à jour et la suppression, la syntaxe est la même que pour le module en pur Python. La seule différence est qu'on ne peut pas utiliser la méthodedrop_field() , parce que la suppression de champs n'est pas supportée par SQLite
Pour insérer de nombreux enregistrements en une seule fois, table.insert(liste_de_valeurs)
sera beaucoup plus rapide que for valeurs in liste_de_valeurs:
table.insert(valeurs) La conversion entre les types Python et les types de champs SQLite reproduit le comportement du module Python pour SQLite : les instances de Les méthodes de sélection renvoient des dictionnaires, dans lesquels les types SQLite sont convertis en types Python de cette façon :
Si vous voulez que des champs soient renvoyés comme instances de db = Database('test.sqlite')
table = Table('truc',db) table.is_date('anniv')
Les intances de |