SQLite Befehle

In diesem Kapitel werden die einfachen, aber nützlichen Befehle erläutert, die SQLite-Programmierer verwenden. Diese Befehle werden SQLite-Punktbefehle genannt, und der Unterschied besteht darin, dass sie nicht mit einem Semikolon;enden.

Geben wir einen einfachensqlite3Befehl ein. An der SQLite-Befehlszeile können Sie verschiedene SQLite-Befehle verwenden.

$ sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>

Um eine Liste der verfügbaren Punktbefehle zu erhalten, können Sie jederzeit ".help" eingeben. Zum Beispiel:

sqlite>.help

Der obige Befehl zeigt eine Liste verschiedener wichtiger SQLite-Punktbefehle an, wie unten dargestellt:

BefehlBeschreibung
.backup ?DB? FILESichern Sie die Datenbank DB (Standard ist "main") in die Datei FILE.
.bail ON|OFFNach einem Fehler anhalten. Standard ist OFF.
.databasesListet die Namen der Datenbanken und die Dateien auf, an die sie angehängt sind.
.dump ?TABLE?Dumpen Sie die Datenbank im SQL-Textformat. Wenn eine TABLE-Tabelle angegeben ist, werden nur TABLE-Tabellen gedumpt, die dem LIKE-Muster entsprechen.
.echo ON|OFFEcho ein- oder ausschalten.
.exitSQLite-Eingabeaufforderung verlassen.
.explain ON|OFFSchaltet den für EXPLAIN geeigneten Ausgabemodus ein oder aus. Wenn kein Parameter angegeben wird, ist EXPLAIN eingeschaltet.
.header(s) ON|OFFKopfzeilenanzeige ein- oder ausschalten.
.helpMeldungen anzeigen.
.import FILE TABLEDaten aus der Datei FILE in die Tabelle TABLE importieren.
.indices ?TABLE?Namen aller Indizes anzeigen. Wenn eine Tabelle TABLE angegeben ist, nur Indizes von TABLE-Tabellen anzeigen, die dem LIKE-Muster entsprechen.
.load FILE ?ENTRY?Eine Erweiterungsbibliothek laden.
.log FILE|offProtokollierung ein- oder ausschalten. FILE kann stderr (Standardfehler)/stdout (Standardausgabe) sein.
.mode MODEAusgabemodus festlegen, MODE kann einer der folgenden sein:
  • csvdurch Kommas getrennte Werte

  • columnlinksbündige Spalten

  • htmlHTML-<table>-Code

  • insertSQL-INSERT-Anweisungen für TABLE-Tabellen

  • lineein Wert pro Zeile

  • listdurch .separator-Zeichenfolgen getrennte Werte

  • tabsdurch Tab getrennte Werte

  • tclTCL-Listenelemente

.nullvalue STRINGGibt die Zeichenkette STRING anstelle von NULL-Werten aus.
.output FILENAMESendet die Ausgabe an die Datei FILENAME.
.output stdoutSendet die Ausgabe auf den Bildschirm.
.print STRING...Gibt die Zeichenkette STRING unverändert aus.
.prompt MAIN CONTINUEErsetzt die Standardeingabeaufforderung.
.quitSQLite-Eingabeaufforderung verlassen.
.read FILENAMEFührt SQL in der Datei FILENAME aus.
.schema ?TABLE?CREATE-Anweisungen anzeigen. Wenn eine TABLE-Tabelle angegeben ist, nur TABLE-Tabellen anzeigen, die dem LIKE-Muster entsprechen.
.separator STRINGÄndert den Ausgabemodus und das von .import verwendete Trennzeichen.
.showZeigt die aktuellen Werte verschiedener Einstellungen an.
.stats ON|OFFStatistiken ein- oder ausschalten.
.tables ?PATTERN?Listet die Namen von Tabellen auf, die dem LIKE-Muster entsprechen.
.timeout MSVersucht, gesperrte Tabellen für MS Millisekunden zu öffnen.
.width NUM NUMSpaltenbreiten für den "column"-Modus festlegen.
.timer ON|OFF CPU-Timer ein- oder ausschalten.

Versuchen wir, den Befehl.showzu verwenden, um die Standardeinstellungen der SQLite-Eingabeaufforderung anzuzeigen.

sqlite>.show
     echo: off
  explain: off
  headers: off
     mode: column
nullvalue: ""
   output: stdout
separator: "|"
    width:
sqlite>
Stellen Sie sicher, dass kein Leerzeichen zwischen der sqlite>-Eingabeaufforderung und dem Punktbefehl steht, andernfalls funktioniert er nicht ordnungsgemäß.

Formatierung der Ausgabe

Sie können die folgenden Punktbefehle verwenden, um die Ausgabe in die unten in diesem Tutorial aufgeführten Formate zu formatieren:

sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>

Die obigen Einstellungen erzeugen eine Ausgabe im folgenden Format:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
CPU Time: user 0.000000 sys 0.000000

sqlite_master-Tabelle

Die Master-Tabelle speichert die Schlüsselinformationen der Datenbanktabellen und benennt siesqlite_master. Um die Tabellenübersicht anzuzeigen, gehen Sie folgendermaßen vor:

sqlite>.schema sqlite_master

Dies erzeugt das folgende Ergebnis:

CREATE TABLE sqlite_master (
  type text,
  name text,
  tbl_name text,
  rootpage integer,
  sql text
);
Andere Erweiterungen