Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

(./) OOo2

SQL ist eine deklarative Datenbanksprache für relationale DatenBanken. Sie stellt eine Reihe von Befehlen zur Definition von Datenstrukturen, zur Manipulation von Datenbeständen und zur Abfrage von Daten zur Verfügung.

SQL-Anweisungen können über die Benutzeroberfläche oder über eine „Wirtssprache“ (Makros) als String an das Datenbankmodul übergeben werden.

1. Allgemeines

2. Syntax der SQL-Befehle

OOo Base kann sowohl mit der internen Datenbank (embedded HSQLDB in der Version 1.8) arbeiten, als auch mit anderen, externen Datenbanken verbunden werden.
Die Syntax der hier gezeigten Befehle kann je nach verwendeter Datenbank unterschiedlich sein.
Zur internen DB von OOo findet sich die Dokumentation hier: http://www.hsqldb.org/doc/1.8/guide/

3. Mit Datenbanktabellen arbeiten

3.1. Eine neue Datenbanktabelle erzeugen

CREATE TABLE "Tabellenname" (
  "Feld 1" INT NOT NULL PRIMARY KEY,
  "Feld 2" VARCHAR(50) NOT NULL,
  "Feld n" DATE)

3.2. Eine neue Tabellenspalte definieren

ALTER TABLE "Tabellenname" ADD "Feldname" VARCHAR(35)

3.3. Eine ganze Datenbanktabelle löschen

DROP TABLE "Tabellenname"

3.4. Datentypen von Datenbankfeldern

Verfügbare Datentypen sind von der verwendeten Datenbank abhängig!

INTEGER, INT
REAL, DOUBLE [PRECISION], FLOAT
VARCHAR
VARCHAR_IGNORECASE
CHAR, CHARACTER
LONGVARCHAR
DATE
TIME
TIMESTAMP, DATETIME
DECIMAL
NUMERIC
BOOLEAN. BIT
TINYINT
SMALLINT
BIGINT
BINARY
VARBINARY
LONGVARBINARY
OTHER, OBJECT

4. Mit Datensätzen arbeiten

4.1. Einen Datensatz in in eine Datenbanktabelle einfügen

INSERT INTO "Tabellenname"
  ("Feld 1", "Feld 2", "Feld n")
VALUES
  ('Wert 1', 'Wert 2', 'Wert n')

4.2. Ein oder mehrere Datensätze in einer Datenbanktabelle aktualisieren

UPDATE "Tabellenname"
SET  "Feld 1" = 'Wert 1',
      "numSpalte" = 2,
      "Feld n" = 'Wert n'
WHERE "Feld 3" = 'Wert 3' // Filterbedingung

4.3. Ein oder mehrere Datensätze in einer Datenbanktabelle löschen

DELETE FROM "Tabellenname"
WHERE ("Feld 1" LIKE '%Wert 1%') AND ("Feld 2" > 'Wert 2') // Filterbedingung

4.4. Alle Datensätze einer Datenbanktabelle löschen

DELETE FROM "Tabellenname"

5. Eine Datenbankabfrage starten

Eine Datenbankabfrage liefert als Ergebnis immer eine Datenbanktabelle mit so vielen Spalten wie zwischen SELECT und FROM angegeben, und so vielen Zeilen wie die Filterbedingung hinter WHERE zulässt.

Mit DISTINCT können Mehrfachergebnisse bereinigt werden.

SELECT [DISTINCT] "Feld 1", "Feld 2", "Feld n"
FROM "Tabellenname"
WHERE "Feld 3" LIKE '%Wert 3%')
ORDER BY "Sortierfeld"

6. Operatoren

6.1. Mathematische Operatoren

+   Addition
-   Subtraktion
*   Multiplikation
/   Division

6.2. Vergleichsoperatoren

=                         ist gleich
<                         ist kleiner als
<=                        ist kleiner oder gleich als
>                         ist größer als
>=                        ist größer oder gleich als
<>, !=                    ist ungleich
IS NULL                   ist leer
IS NOT NULL               ist nicht leer
BETWEEN Wert1 AND Wert2   ist zwischen Wert1 und Wert2
IN                        ist enthalten in
NOT IN                    ist nicht enthalten in
LIKE                      ist wie (Vergleich mit Platzhalter % für beliebige Zeichen)
NOT LIKE                  ist nicht wie
EXISTS(SELECT-Anweisung)  ergibt TRUE falls Datensatz existiert, sonst FALSE

6.3. Logische Operatoren

AND   Logisches UND
OR    Logisches ODER
NOT   Logisches NICHT

7. Siehe auch


KategorieBase


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28