Suche nach als

SQLite CSV

Auf dieser Seite:

Eine andere Tabelle in SQLite einlesen ist einfach, vorausgesetzt ich habe die Tabelle in einem Zwischenformat, in einer csv Datei abgespeichert, welches die Feldwerte (Kolonnen) durch ein eindeutiges Zeichen (dem Namen nach ein Komma) trennt.

Comma separated values

Meine sqlite.csv Datei ist eine reine Textdatei (7-bit ASCII), in der ein Tabelleninhalt steht. Die Trennung der Kolonnen geschiet in diesem Beispiel jeweils mit einem ";" (Semikolon), es muss also nicht ein Komma sein, es wäre auch eine "|" (Pipe) möglich - das Zeichen darf im Zellinhalt nicht vorkommen.
Ebenso zu vermeiden ist ein "'" im Text, es würde im sqlite_query einen Syntaxerror erzeugen:
'Warning: sqlite_query() [function.sqlite-query]: near "n": syntax error ...'

1;Da komm ich her:;Aus dem Weltenmeer. 2;Da geh ich hin:;Als Schmetterling. 3;Da wünsch ich mir:;Ein Lied von dir. 4;Da blieb mir noch:;Ein Sommerloch.

csv Tabelle einlesen

Die Datensätze aus der csv-Datei fügt es nur der Tabelle hinzu, wenn die Datenbank 'SQLite/db_test.db' mit der Tabelle 'tb_test' vorhanden ist. Falls nicht, wird zwar die Datenbank erzeugt aber nicht die Tabelle (Tabelle erstellen).

sqlite_open

sqlite_query

<?php
// Einlesen
  
$db sqlite_open("SQLite/db_test.db"0666$error)
    or die(
"Fehler beim &Ouml;ffnen der Datenbank: $error"); 
  
$csv_handle fopen("sqlite.csv","r");
  while ( (
$data fgetcsv ($csv_handle1000";")) !== FALSE ) {
    
$sql "INSERT INTO tb_test VALUES(NULL,'$data[1]', '$data[2]')";
    
sqlite_query($db,$sql);
  }
  
fclose ($csv_handle);
  
sqlite_close($db);
?>

SQLite Tabelle ausgeben

Die in SQLlite eingelesene csv-Datei als HTML-Tabelle ausgegeben: