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: 2010-05-22 19:03:58 (Externe Bearbeitung)
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki