PostgreSQL Cheat Sheet

A cheat sheet in Deutsch (German) by manebanane

Wichtige PosgreSQL Befehle

24,605 views 5,614 downloads 3 Oct 2014 History
4.9 avg · 3 ratings

Datentyp

integer: 1,2,3
serial: fortlaufende Ganzahl
float: 1.23
numeric: 1, 1.23
varchar: 'Hallo Welt!'
date: '2001-01-21'
time: '11:55:30'
timestamp: '2014-10-02 10:39:26.332'
current_timestamp: '2014-10-02 10:39:26.332'
boolean: true, false

Einsch­rae­nkung (Const­raint)

PRIMARY KEY ... Primär­sch­lüssel
UNIQUE ... Einzig­artiger Wert
NOT NULL ... Eingabe muss erfolgen
CHECK ... Defini­erter Werteb­ereich
DEFAULT ... Wenn nichts einget­ragen
REFERENCES ... Verweis auf Primär­sch­lüssel

Bedingung

Logisch: =,<­>,!­=,<­,>,­<=,­>=
Grenzen: BETWEEN minimum AND maximum
Aus Menge: IN (wert, ...)
Wortstück: LIKE 'stringteil'­'
... WHERE alter = 35
... WHERE alter BETWEEN 35 AND 45;
... WHERE alter IN (35,45­,55);
... WHERE name LIKE '­%ei­%';
... WHERE name LIKE '­%er­;'

Aggreg­atf­unk­tionen

AVG() ... Mittelwert der Spalte
COUNT() ... Anzahl der Tupel
MAX() ... Maximaler Wert der Spalte
MIN() ... Minimaler Wert der Spalte
STDDEV() ... Standa­rdabw der Spalte
SUM() ...Summer der Spalte
VARIANCE() ...Varianz der Spalte

Als WHERE-­Bed­ingung ist keine Aggreg­atf­unktion möglich.
SELECT MAX(einkommen)
FROM person;

Verknu­epf­ung­ope­ratoren

AND
OR

Tabelle erstellen

CREATE TABLE tabell­enname (
attrib­utname datentyp constraint,
...
);
CREATE TABLE personen (
id serial UNIQUE PRIMARY KEY,
name varchar NOT NULL,
alter integer NOT NULL CHECK (alter
IN(25,­35,­45,­55)),
einkommen float NOT NULL CHECK(­ein­kommen
BETWEEN 1000.00 AND 3000.00),
zeitst­empel timestamp DEFAULT curren­t_t­ime­stamp,
auto integer REFERENCES kfz(nu­mmer)
);

Tabelle loeschen

DROP TABLE tabell­enname;
DROP TABLE personen;

Tabelle aus besteh­ender erstellen

CREATE TABLE tabell­enname2
AS (
abfrage
FROM tabell­enname1
);
CREATE TABLE person­en_neu
AS (
SELECT * FROM personen
);

Datensatz erstellen

INSERT INTO tabell­enname (
attrib­utname,
...
) VALUES (
wert,
...
);
INSERT INTO personen (
name,
alter,
einkommen,
auto
) VALUES (
'Hans Gruber­',
35,
2487.24,
'­G38­3AS­'
);

Spalte in Tabelle erstellen

ALTER TABLE tabell­enname
ADD attrib­utname datentyp;
ALTER TABLE personen
ADD ledig BOOLEAN;

Gesamten Tabell­eni­nhalt loeschen

DELETE FROM tabell­enname
DELETE FROM personen;

Bestimmte Tabell­eni­nhalte loeschen

DELETE FROM tabell­enname
WHERE bedingung
DELETE FROM personen
WHERE alter=35;

Tabell­eni­nhalte editieren

UPDATE tabell­enname
SET attrib­utname;
UPDATE personen
SET alter = 55
WHERE
name = 'Hans Gruber­';

Gesamten Tabell­eni­nhalt abfragen

SELECT * FROM tabell­enname
SELECT * FROM personen;

Bestimmte Tabell­eni­nhalte abfragen

SELECT attrib­utname
FROM tabell­enname
WHERE bedingung;
SELECT name , alter
FROM personen;

SELECT name, alter
FROM personen
WHERE einkommen <= 2000.00
OR
WHERE einkommen >=3000;

Versch­ach­telte Abfragen

SELECT attrib­utname
FROM tabell­enname
WHERE attrib­utname bedingung (
SELECT ...
);
SELECT
FROM personen
WHERE
einkommen = (
SELECT MAX(
einkommen)
FROM
personen*
);

Mehrere Tabellen Abfragen

SELECT tabell­enname1.attrib­utname1
FROM tabell­enname1, tabell­enname2
WHERE tabell­enname1.attrib­utname1 = tabell­enname2.attrib­utn­ame2*;
SELECT person­en.name
FROM personen, vorgaben
WHERE person­en.e­in­kommen < vorgab­en.m­in­des­tlohn;

Variab­lenname deklar­ieren

... FROM tabell­enname as variab­lenname, ...
SELECT a.name
FROM personen as a, vorgaben as b
WHERE a.eink­ommen < b.mind­estlohn;

Synthe­tische Tabelle erstellen (View)

CREATE VIEW viewname AS abfrage
CREATE VIEW reiche­_pe­rsonen
AS
SELECT name
FROM personen
WHERE einkommen >10­000­0.00;

Badges

Good Cheat Sheet Nice Cheat Sheet Downloaded from Unusual Locations × 1

Comments

No comments yet.

Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.