Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
wetter:wview:sqlite [28.01.2010 08:44. ] – Text ergänzt djangowetter:wview:sqlite [28.01.2010 08:44. ] (aktuell) – Text ergänzt django
Zeile 1: Zeile 1:
 +====== VI) sqlite ======
 +Von Haus aus speichert **wview** seine daten in einer Dateibasierten SQL-angelehnten Datenbankfile. Zum //Abfragen//, //Bearbeiten// und //Manipulieren// der Daten benutzen wir das Programm **//sqlite3//**.
 +===== sqlite-Befehle =====
 +==== .help ====
 +Zum Arbeiten mit der sqlite-Datei nutzen wir das CLI((**C**ommand**L**ine**I**nterface)) von **sqlite3**.
 +<code># sqlite3 /usr/local/var/wview/archive/wview-archive.sdb
 +SQLite version 3.3.6
 +Enter ".help" for instructions
 +sqlite> </code>
 +Mit **//.help//** werden alle zur Verfügung stehenden Befehle und deren Verwendung angezeigt.
 +<code>sqlite> .help
 +.databases             List names and files of attached databases
 +.dump ?TABLE? ...      Dump the database in an SQL text format
 +.echo ON|OFF           Turn command echo on or off
 +.exit                  Exit this program
 +.explain ON|OFF        Turn output mode suitable for EXPLAIN on or off.
 +.header(s) ON|OFF      Turn display of headers on or off
 +.help                  Show this message
 +.import FILE TABLE     Import data from FILE into TABLE
 +.indices TABLE         Show names of all indices on TABLE
 +.mode MODE ?TABLE?     Set output mode where MODE is one of:
 +                         csv      Comma-separated values
 +                         column   Left-aligned columns.  (See .width)
 +                         html     HTML <table> code
 +                         insert   SQL insert statements for TABLE
 +                         line     One value per line
 +                         list     Values delimited by .separator string
 +                         tabs     Tab-separated values
 +                         tcl      TCL list elements
 +.nullvalue STRING      Print STRING in place of NULL values
 +.output FILENAME       Send output to FILENAME
 +.output stdout         Send output to the screen
 +.prompt MAIN CONTINUE  Replace the standard prompts
 +.quit                  Exit this program
 +.read FILENAME         Execute SQL in FILENAME
 +.schema ?TABLE?        Show the CREATE statements
 +.separator STRING      Change separator used by output mode and .import
 +.show                  Show the current values for various settings
 +.tables ?PATTERN?      List names of tables matching a LIKE pattern
 +.timeout MS            Try opening locked tables for MS milliseconds
 +.width NUM NUM ...     Set column widths for "column" mode</code>
  
 +==== .databases ====
 +Für die Anzeige der Datenbank und der Datei der verwendeten Datenbank, verwendet man den Befehl **//.databases//**.
 +<code>sqlite> .databases
 +seq  name             file                                                      
 +---  ---------------  ----------------------------------------------------------
 +0    main             /usr/local/var/wview/archive/wview-archive.sdb</code>
 +
 +==== select ====
 +Zum Abfragen der Datenbank nutzen wir die gewohnte SQL-Befehlssyntax, die wir von unserer MySQL-datenbank her kennen. 
 +<code>sqlite> select * from archive where dateTime = "1188772800";
 +1188772800|1|5|30.0|||70.699997|58.799999|55.0|83.0|0.0|202.5|2.0|202.5|0.0|0.0|53.645275|58.799999|58.799999|0.0|0.0|0.0||||63.0|61.0|62.0||63.0|61.0|||4.0||||0.0||||||||||||||
 +</code>
 +Mit nachfolgendem Befehlssyntax werden neben der **local time**, dem **Unix-Zeitstempel** ausgegeben, bei denen der Barometer-Wert **30.302** beträgt.
 +<code>sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), dateTime, barometer from archive where barometer = "30.302";
 +2010-01-16 07:30:00|1263623400|30.302
 +2010-01-16 07:40:00|1263624000|30.302
 +2010-01-18 09:20:00|1263802800|30.302
 +2010-01-18 11:55:00|1263812100|30.302
 +2010-01-18 16:05:00|1263827100|30.302
 +2010-01-23 00:25:00|1264202700|30.302
 +2010-01-25 07:40:00|1264401600|30.302
 +2010-01-27 16:40:00|1264606800|30.302</code>
 +==== .tables ====
 +Will man wissen, welche Tabellen in dem Datenbankfile enthalten sind, verwendet man den Befehl //**.tables**//
 +  sqlite> .tables
 +  archive
 +==== .quit ====
 +Zum Beenden des sqlite3 CLI((**C**ommand**L**ine**I**nterface)) benutzt man den Befehl //**.quit**//
 +  sqlite> .quit