Benutzer-Werkzeuge

Webseiten-Werkzeuge


os4_programmierung_sql_ansi-sql92
                                   ansi-sql92


 BACK ..

 ein paar ANSI-SQL/92-Befehle
 ============================

 ###############################################################################
 ### ANSI-SQL/92
 ###############################################################################
 #
 ### erstellt eine Tabelle:
 > CREATE TABLE [Tabelle] ([Spalte1] INTEGER, [Spalte2] VARCHAR(30));

 ### erstellt eine Tabelle mit automatischer Nummerierung (Sequenz):
 > CREATE SEQUENCE spalten-seqenz;
 > CREATE TABLE [Tabelle] ([Spalte1] INTEGER PRIMARY KEY DEFAULT nextval('spalten-seqenz'), [Spalte2] VARCHAR(30));

 ### traegt einen Datensatz in eine Tabelle ein:
 > INSERT INTO [Tabelle] ([Spalte1], [Spalte2]) VALUES (1, 2);

 ### aendert einen Datensatz in einer Tabelle:
 > UPDATE [Tabelle] SET [Spalte]=[neuer-Wert],[Spalte]=[neuer-Wert] WHERE [Kontroll-Spalte]=[Wert] AND [Kontroll-Spalte]=[Wert] OR [Kontroll-Spalte]=[Wert];

 ### zeigt den Inhalt einer Tabelle:
 > SELECT * FROM [Tabelle1];

 ### zeigt den Inhalt einer Tabelle ohne Duplikate:
 > SELECT DISTINCT * FROM [Tabelle1];

 ### zeigt die Anzahl der Zeilen einer Tabelle:
 > SELECT COUNT(*) FROM [Tabelle1];

 ### zeigt die Summe aller Eintraege in der Spalte "alter":
 > SELECT SUM(alter) FROM [Tabelle1];

 ### zeigt den groessten Wert aller Eintraege in der Spalte "alter":
 > SELECT MAX(alter) FROM [Tabelle1];

 ### zeigt den kleinsten Wert aller Eintraege in der Spalte "alter":
 > SELECT MIN(alter) FROM [Tabelle1];

 ### zeigt den Durchschnittswert aller Eintraege in der Spalte "alter":
 > SELECT AVG(alter) FROM [Tabelle1];

 ### zeigt nur die Spalten einer Tabelle, die die "WHERE"-Bedingung erfuellen:
 > SELECT [Spalte], [Spalte], [Spalte] FROM [Tabelle1], [Tabelle2], [Tabelle3] WHERE [Tabelle1].[Spalte1]=[Tabelle2].[Spalte1] AND [Tabelle1].[Spalte2]=[Tabelle2].[Spalte2];

 ### eine Spalte hinzufuehgen:
 > ALTER TABLE [Tabelle] ADD COLUMN [Spalte] INTEGER;

 ### loescht eine Tabelle:
 > DELETE FROM [Tabelle];

 ### loescht nur die Spalten einer Tabelle, die die "WHERE"-Bedingung erfuellen:
 > DELETE FROM [Tabelle] WHERE [...];

 ### OUTER JOIN
 > SELECT * FROM [Tabelle1] LEFT OUTER JOIN [Tabelle2] ON ([Tabelle1].[Spalte] = [Tabelle2].[Spalte]);
 > SELECT * FROM [Tabelle1] LEFT OUTER JOIN [Tabelle2] USING ([Spalte]);

 ###############################################################################
 ### Nicht ANSI-SQL/92
 ###############################################################################
 #
 ### leeren einer Tabelle:
 > TRUNCATE TABLE [Tabelle];

 ### Namen einer Spalte in einer Tabelle aendern:
 > ALTER TABLE [Tabelle] RENAME COLUMN [Spalte-alt] TO [Spalte-neu];

 ### hinzufuegen einer Spalte in einer Tabelle:
 > ALTER TABLE [Tabelle] ADD COLUMN [Spalte];

 ### loeschen einer Spalte aus einer Tabelle:
 > ALTER TABLE [Tabelle] DROP COLUMN [Spalte];

 #------------------------------------------------------------------------------

 ### loeschen einer Tabelle:
 > DROP TABLE [Tabelle];

 #------------------------------------------------------------------------------

 Damit auch andere User auf die Datenbank zugreifen duerfen,
 kann man ihnen die Rechte mit "GRANT" einraeumen:
 (Mit "REVOKE" koennen diese Rechte wieder Entzogen werden.)

 Auch der [User] kann einen [Befehl] ausfuehren:
 > GRANT [SELECT|INSERT|UPDATE|DELETE|RULE|ALL|objekt|PUBLIC|GROUP gruppe|benutzername] ON [Tabelle] TO [User];

         objekt:
                 tabelle
                 sicht
                 sequenz

         gruppe:
                 Name einer "gruppe", der Rechte gewaehrt werden.

 ALLE User koennen ALLE Befehle ausfuehren:
 > GRANT ALL ON [Datenbank] TO PUBLIC;

 Nur Fritz darf ALLE Befehle ausfuehren:
 > GRANT ALL ON [Datenbank] TO fritz;


 #------------------------------------------------------------------------------

 Beispiele als gepackte SQL-Dateien fuer PostgreSQL.

 #------------------------------------------------------------------------------


   [IMG]
/home/http/wiki/data/pages/os4_programmierung_sql_ansi-sql92.txt · Zuletzt geändert: von 127.0.0.1