Überblick über Datentypen: INT VARCHAR DATE BOOLEAN
Lernen Sie die grundlegenden SQL-Datentypen kennen: Ganzzahlen, varchar/Text, Datumsangaben und Zeitstempel, boolesche Werte und Dezimalzahlen — und wie Sie für jede Spalte den richtigen Typ auswählen.
Überblick über Datentypen: INT VARCHAR DATE BOOLEAN ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.
Warum Typen wichtig sind
Jede Spalte hat einen festen Typ. Der Typ legt Folgendes fest:
- Welche Werte gültig sind
- Wie viel Speicher jede Zeile benötigt
- Welche Operatoren und Funktionen verwendet werden können
- Wie der Planer Indizes und Joins auswählt
Ganzzahltypen
PostgreSQL hat drei Ganzzahlgrößen:
SMALLINT -- 2 bytes, -32768 to 32767
INTEGER -- 4 bytes, ±2.1 billion (alias: INT)
BIGINT -- 8 bytes, ±9.2 quintillion
-- Auto-incrementing variants:
SMALLSERIAL BIGSERIAL SERIALNumeric / Decimal
Für Geldbeträge und exakte Dezimalzahlen verwenden Sie NUMERIC(precision, scale) – niemals FLOAT.
CREATE TABLE invoices (
id BIGSERIAL PRIMARY KEY,
amount NUMERIC(12, 2) NOT NULL, -- up to 10 digits + 2 decimals
tax_rate NUMERIC(5, 4) NOT NULL -- 0.0875 = 8.75%
);Float vs. Numeric
REAL (4 Byte) und DOUBLE PRECISION (8 Byte) sind ungenau – sie runden Binärbrüche. Für wissenschaftliche Berechnungen geeignet, für Geldbeträge jedoch äußerst ungeeignet.
-- Inexact:
SELECT 0.1::FLOAT + 0.2::FLOAT; -- 0.30000000000000004
-- Exact:
SELECT 0.1::NUMERIC + 0.2::NUMERIC; -- 0.3Texttypen: VARCHAR vs. TEXT
PostgreSQL hat zwei grundlegende Texttypen:
-- VARCHAR(n) — variable-length, max n characters
email VARCHAR(255)
-- TEXT — variable-length, no declared limit
description TEXT
-- In PostgreSQL both have the same performance.
-- VARCHAR(n) just adds a length check.
-- CHAR(n) (fixed-length, blank-padded) — avoid.Datum und Uhrzeit
Verwenden Sie die Datums- und Uhrzeittypen – speichern Sie Datumsangaben niemals als Zeichenketten:
DATE -- 2024-03-15
TIME -- 14:30:00
TIMESTAMP -- 2024-03-15 14:30:00 (no time zone)
TIMESTAMPTZ -- 2024-03-15 14:30:00+02 (recommended)
INTERVAL -- 1 day, 3 hours
-- Prefer TIMESTAMPTZ unless you have a strong reason not to.Boolean
BOOLEAN speichert TRUE, FALSE oder NULL.
CREATE TABLE tasks (
id BIGSERIAL PRIMARY KEY,
done BOOLEAN NOT NULL DEFAULT false
);
SELECT * FROM tasks WHERE done; -- shorthand for done = true
SELECT * FROM tasks WHERE NOT done;UUID
Für global eindeutige Bezeichner:
CREATE TABLE api_keys (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id BIGINT NOT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);JSON und JSONB
Für semi-strukturierte Dokumente:
-- JSON — text, preserves whitespace, no index
-- JSONB — binary, deduplicated keys, indexable with GIN
CREATE TABLE events (
id BIGSERIAL PRIMARY KEY,
payload JSONB NOT NULL
);Arrays
PostgreSQL-Spalten können Arrays jedes Basistyps sein:
CREATE TABLE posts (
id BIGSERIAL PRIMARY KEY,
title TEXT NOT NULL,
tags TEXT[] NOT NULL DEFAULT '{}'
);
INSERT INTO posts (title, tags) VALUES
('Hello', ARRAY['sql', 'intro']);
SELECT * FROM posts WHERE 'sql' = ANY(tags);Den richtigen Typ auswählen
Als Faustregeln gelten:
- Geldbeträge →
NUMERIC(niemalsFLOAT) - IDs →
BIGSERIALoderUUID - Datumsangaben →
TIMESTAMPTZfür Ereignisse,DATEfür Kalendertage - Kurze Codes →
VARCHAR(n); lange Texte →TEXT - Flags →
BOOLEAN
Zusammenfassung
Wählen Sie den kleinstmöglichen passenden Typ.
- Die richtigen Typen bedeuten kleinere Indizes, bessere Statistiken und weniger Fehler
- NUMERIC für exakte Dezimalzahlen
- TIMESTAMPTZ für Zeitstempel von Ereignissen
- Vermeiden Sie es, typisierte Daten als Zeichenketten zu speichern – Sie verlieren Validierung und Indexierung
Kurzer Test
Sie müssen einen Produktpreis speichern. Welchen Typ sollten Sie auswählen?
Häufig gestellte Fragen
Ist die Lektion „Überblick über Datentypen: INT VARCHAR DATE BOOLEAN“ kostenlos?
Ja — der vollständige Text von „Überblick über Datentypen: INT VARCHAR DATE BOOLEAN“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Überblick über Datentypen: INT VARCHAR DATE BOOLEAN“?
Lernen Sie die grundlegenden SQL-Datentypen kennen: Ganzzahlen, varchar/Text, Datumsangaben und Zeitstempel, boolesche Werte und Dezimalzahlen — und wie Sie für jede Spalte den richtigen Typ auswähle… Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um SQL Academy zu starten?
Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Überblick über Datentypen: INT VARCHAR DATE BOOLEAN“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?
Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Was ein RDBMS ist und warum Tabellen wichtig sind
- Primärschlüssel und Eindeutigkeit
- NULL: Der dritte Wahrheitswert
- Überblick über Datentypen: INT VARCHAR DATE BOOLEAN