Mémo Sqlite, import de CSV
Création et import d'une base de donnée SQLite
Pour importer un CSV avec des virgules et sans doubles quotes :
$ sqlite3 truc.db
$ sqlite3> .mode csv
$ sqlite> .separator ","
$ sqlite> .import table.csv nom_voulu_de_la_table
Il est aussi possible de faire plus court avec :
.import table.csv nom_voulu_de_la_table --csv
Pour importer un CSV délimité par des ; et des " :
$ sqlite3 truc.db
$ sqlite3> .mode ascii
$ sqlite> .separator ";" \n
$ sqlite> .import table.csv nom_voulu_de_la_table
Le n est un retour à la ligne, on indique de cette manière qu'un séparateur peut être un ; ou bien le retour à la ligne. Et comme ça n'est pas assez compliqué il existe deux types de retour à la ligne :
Le Unix \n et Windown \rn le type de retour à la ligne doit être adapté, sinon ça fait une erreur par ligne.
Le nom des colonnes sera automatiquement déterminé par la première ligne du fichier CSV. Par contre le type de données sera automatiquement "TEXT", le problème n'est pas présent lors de l'import avec sqlitebrowser, il parvient à déterminer tout seul s'il s'agit de texte, ou d'entier ou encore de float.