Michael Roth Software
Local SQL
Copyright by Michael Roth Software in 2000
[Homepage Startseite],[Homepage Startseite ohne Frames]

Local SQL

Herzlichen Glückwunsch :-),
Sie haben sich dazu entschlossen neben der Bedienungsanleitung für Archinov auch diese Einführung in die SQL-Syntax zu lesen. Da ich weiß das es niemandem Spaß macht so etwas freiwillig zu tun ;-), haben Sie mein tiefstes Mitgefühl *lächel*

Auch wenn es Ihnen schwer fällt sollten Sie jetzt weiterlesen. Die Arbeitseinsparung durch nur wenige Kenntnisse in SQL ist es wirklich wert. Gerade der SQL-Befehl UPDATE wirkt in großen Datenbeständen wahre Wunder und sorgt für schnelle Eingaben und Änderungen Ihrer Daten.
 

Die Local SQL Befehle:

-ALTER TABLE

-UPDATE

-CREATE TABLE

-CREATE INDEX

-DROP INDEX

-DROP TABLE

-DELETE

-SELECT

Hier folgt nun eine kleine Referenz der wichtigsten Local-SQL-Anweisungen, die auch in
Archinov ab Version 4.2 verwendet werden können.

Hinweis:
Die im folgenden oft genannte Beispieldatenbank scheiben.db ist eine Paradox Datenbank
und besteht aus den Textfeldern [Titel,Interpret,Album,Jahr,Richtung,Sprache,BPM,Medium]

ALTER TABLE
**************

Der SQL-Befehl ALTER TABLE dient dem Hinzufügen oder Entfernen einer Spalte von einer
Tabelle.

Syntax:
ALTER TABLE tabelle {ADD spaltenname datentyp/DROP spaltenname}

Sie können mehrere Spalten in einem Befehl löschen oder hinzufügen oder auch
ADD und DROP in einem Befehl gleichzeitig absetzen.

Beispiel:
ALTER TABLE "scheiben.db" ADD Interpret CHAR(50) DROP Titel

Dieser Befehl fügt der Datenbank "scheiben.db" eine 50 Zeichen lange Spalte vom Typ Text
(string) mit dem Namen Interpret hinzu und löscht gleichzeitig die Spalte Titel.

Weitere Datentypen für den Befehl ADD sind:

         -SMALLINT
         -INTEGER
         -DECIMAL
         -NUMERIC
         -DATE
         -BLOB
         -TIME
         -TIMESTAMP
         -MONEY
         -AUTOINC
         -BYTES

Hinweis: Seien Sie mit dem Befehl ALTER TABLE.... DROP vorsichtig. Bei einer Anwendung
dieses Befehles wird die zugehörige Spalte wirklich mit allen in ihr gespeicherten
Daten gelöscht!!

UPDATE
********

Der SQL-Befehl UPDATE ändert die Feldwerte von bestehenden Datensätzen.

Syntax:
UPDATE tabelle SET spaltenname=wert [spaltenname=wert] [WHERE spaltenname=wert]

Beispiel:
UPDATE "scheiben.db" SET Medium='CD' WHERE Album='Party Power Pack 6'

Anmerkung: Wenn die WHERE Klausel nicht gesetzt ist, wird in allen Datensätzen der Tabelle
das Medium auf 'CD' gesetzt.

Die Anweisung UPDATE kann auch für andere Dinge sehr nützlich sein. Ist in einer Datenbank
z.B. eine Jahreszahl in einem Textfeld nur zweistellig gespeichert (wir nehmen hier wieder
unsere Beispieldatenbank scheiben.db), so beseitigt folgende Zeile SQL-Code unser Problem
und fügt vor die Jahreszahl die 19 (für neunzehnhundert...).

UPDATE "scheiben.db" SET Jahr='19'+Jahr

Beachten Sie das bei dieser Anweisung vor jedes Jahresfeld die 19 eingefügt wird. Sind
in Ihrer Datenbank auch Jahreszahlen nach dem Jahr 2000 vorhanden und nur zweistellig
abgelegt, dann müssen Sie die UPDATE Anweisung mit einem passenden WHERE Befehl
eingrenzen z.B.:

UPDATE "scheiben.db" SET Jahr='19'+Jahr WHERE Jahr>'15'

Nun werden nur noch die Jahreszahlen mit 19 ergänzt die größer als 15 sind, was uns im
nächsten Schritt ermöglicht mit dem Befehl

UPDATE "scheiben.db" SET Jahr='20'+Jahr where Jahr<='15'

alle verbleibenden Jahreszahlen mit der 20 (für 2000) zu ergänzen. Das hier willkürlich
gewählte Zeitfenster 2015 sollte von Ihnen natürlich passend zu Ihren Daten gewählt werden.

Als letztes noch ein kleiner Tip(p) :-) für Schreibfaule. Gerade bei der Dateneingabe ist es
oft recht mühsam immer wieder die gleichen Daten einzugeben. Haben wir in unserer
scheiben.db z.B. eine Spalte mit dem Namen "Sprache", so haben wir keine Lust für jeden
eingegebenen Titel 'Englisch' oder 'Deutsch'... einzutragen. Statt dessen tragen wir in
das Feld Sprache immer nur 'E' oder 'D' ein. Sind wir nun fürs erste mit der
Dateneingabe fertig, schließen wir unsere Archinov Sitzung mit den SQL-Befehlen

UPDATE "scheiben.db" SET Sprache='Englisch' WHERE Sprache='E'

und

UPDATE "scheiben.db" SET Sprache='Deutsch' WHERE Sprache='D'

und alle sind wieder zufrieden. Sie, weil Sie weniger Arbeit hatten und der Chef, weil's
gut aussieht! :-)
Gerade am Befehl UPDATE sehen Sie wieviel Arbeit Ihnen ein wenig SQL-Wissen abnehmen kann.
 

CREATE TABLE
***************

Mit der Anweisung CREATE TABLE erstellen Sie eine neue Tabelle.

Beispiel:

CREATE TABLE "C:\adressen.db" (Adressnr SMALLINT,Name CHAR(15), Vorname CHAR(15))

Für Paradox-Tabellen kann alternativ noch ein Primärindex erstellt werden.
Dazu ersetzen Sie die abschließende Klammer durch ein Komma und fügen

PRIMARY KEY (Adressnr))

hinter dem Komma neu ein.

Diese SQL-Anweisung funktioniert natürlich in Archinov, aber Sie sollten statt dessen
den Archinov eigenen Editor zum erstellen von Datenbanken verwenden.
 

CREATE INDEX
***************

Mit Hilfe der Anweisung CREATE INDEX erstellen Sie einen neuen Index auf einer Tabelle.

Syntax:

CREATE INDEX indexname ON tabelle (spalte[,spalte...])

Mit diesem Befehl wird kein primär, sondern es werden
nur sekundäre Paradox-Indizes erstellt.

Beispiel:

CREATE INDEX tit ON "scheiben.db" (Titel)

ACHTUNG: Keine Hochkommatas beim Indexnamen!!!! Dank an Markus für den Hinweis.

DROP INDEX
************

Über die Anweisung DROP INDEX löschen Sie einen vorhandenen Index aus einer Tabelle.

Syntax:

DROP INDEX tabelle tit

Auch hier gibt es für Paradoxtabellen eine Besonderheit. Wenn Sie einen Primärindex
löschen wollen, müssen Sie anstelle des Indexnamens den Ausdruck PRIMARY setzen.
 

DROP TABLE
*************
Mit dieser Anweisung löschen Sie eine Tabelle.

Syntax:

DROP TABLE tabelle

Beispiel:

DROP TABLE "scheiben.db"
 

DELETE
********
Die SQL-Anweisung DELETE löscht Zeilen aus einer Tabelle.

Syntax:

DELETE FROM tabelle [WHERE spaltenname = wert]

Beispiel:

DELETE FROM "scheiben.db" WHERE Richtung='Black'

Vorsicht: Die Anweisung DELETE FROM "scheiben.db" ohne WHERE-Klausel löscht alle
Datensätze aus der Tabelle!!!
 


Außer den eben genannten SQL-Anweisungen gibt es natürlich auch noch die
SELECT Anweisung, die im Gegensatz zu den eben genannten Anweisungen eine
Ergebnismenge zurück liefert. Eine einfache Abfrage die alle Daten einer
Tabelle zeigt wäre z.B.

SELECT * FROM "scheiben.db"

Syntax:

SELECT * from tabelle [WHERE spaltenname = wert]
        [ORDER BY sortiereihenfolge]
        [GROUP BY gruppierung]
        [HAVING having kondition]

Beispiel:
SELECT * FROM "scheiben.db" WHERE Jahr='1972'

Die meisten Select Anweisungen erzeugt Archinov automatisch. Achten Sie einfach
auf die SQL-Eingabezeile wenn Sie eine Datenbank öffnen oder Suchfunktionen
ausführen. Sie werden bemerken das Archinov statt des Gleichheitszeichens die Anweisung
"like" verwendet. In Archinov sind beide Formen erlaubt. Die like Anweisung hat aber den
Vorteil auch das Jokerzeichen % verwenden zu können, um auch nach Wortbestandteilen suchen
zu können.
 

So, das wars schon :-). So schlimm war es doch gar nicht, oder?
Nutzen Sie Ihr Wissen, und Sie werden schneller Arbeiten als je zuvor :-)