Show Menu
Cheatography

Wichtige PosgreSQL Befehle

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 'stri­ngt­eil''
... 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(e­ink­omm­en)
FROM person;
 

Verknu­epf­ung­ope­ratoren

AND
OR

Tabelle erstellen

CREATE TABLE tabel­len­name (
attri­but­name date­ntyp cons­tra­int,
...
);
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),
zeits­tempel timestamp DEFAULT curren­t_t­ime­stamp,
auto integer REFERENCES kfz(nu­mmer)
);

Tabelle loeschen

DROP TABLE tabel­len­name;
DROP TABLE perso­nen;

Tabelle aus besteh­ender erstellen

CREATE TABLE tabel­len­name2
AS (
abfr­age
FROM tabel­len­name1
);
CREATE TABLE perso­nen­_neu
AS (
SELECT * FROM perso­nen
);

Datensatz erstellen

INSERT INTO tabel­len­name (
attri­but­name,
...
) VALUES (
wert,
...
);
INSERT INTO personen (
name,
alter,
einko­mmen,
auto
) VALUES (
'Hans Gruber',
35,
2487.24,
'G383AS'
);

Spalte in Tabelle erstellen

ALTER TABLE tabel­len­name
ADD attri­but­name date­ntyp;
ALTER TABLE perso­nen
ADD ledig BOOLEAN;
 

Gesamten Tabell­eni­nhalt loeschen

DELETE FROM tabel­len­name
DELETE FROM perso­nen;

Bestimmte Tabell­eni­nhalte loeschen

DELETE FROM tabel­len­name
WHERE bedi­ngung
DELETE FROM perso­nen
WHERE alter­=35;

Tabell­eni­nhalte editieren

UPDATE tabel­len­name
SET attri­but­name;
UPDATE personen
SET alter = 55
WHERE
name = 'Hans Gruber';

Gesamten Tabell­eni­nhalt abfragen

SELECT * FROM tabel­len­name
SELECT * FROM perso­nen;

Bestimmte Tabell­eni­nhalte abfragen

SELECT attri­but­name
FROM tabel­len­name
WHERE bedi­ngu­ng;
SELECT name , alter
FROM perso­nen;

SELECT name, alter
FROM perso­nen
WHERE einko­mmen <= 2000.00
OR
WHERE einko­mmen >=3­000;

Versch­ach­telte Abfragen

SELECT attri­but­name
FROM tabel­len­name
WHERE attri­but­name bedingung (
SELECT ...
);
SELECT *
FROM personen
WHERE einko­mmen = (
SELECT MAX(e­ink­omm­en)
FROM perso­nen
);

Mehrere Tabellen Abfragen

SELECT tabel­len­nam­e1.a­ttr­ibu­tname1
FROM tabel­len­name1, tabel­len­name2
WHERE tabel­len­nam­e1.a­ttr­ibu­tname1 = tabell­enn­ame­2.­at­tri­but­name2*;
SELECT perso­nen.name
FROM perso­nen, vorga­ben
WHERE perso­nen.ei­nko­mmen < vorg­abe­n.m­ind­est­lohn;

Variab­lenname deklar­ieren

... FROM tabel­len­name as varia­ble­nname, ...
SELECT a.name
FROM personen as a, vorgaben as b
WHERE a.ein­kommen < b.mi­nde­stl­ohn;

Synthe­tische Tabelle erstellen (View)

CREATE VIEW viewname AS abfr­age
CREATE VIEW reich­e_p­ers­onen
AS
SELECT name
FROM personen
WHERE einkommen >10­000­0.00;
               

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          MySQL Cheat Sheet
          SQL Server Cheat Sheet
          PostgreSQL Configuration Cheat Sheet