Einführung
SQL-Datentypen definieren die Art von Wert, der in einer Tabellenspalte gespeichert werden kann. Wenn Sie beispielsweise möchten, dass eine Spalte nur Ganzzahlwerte speichert, können Sie ihren Datentyp als INT definieren.
SQL-Datentypen können grob in die folgenden Kategorien unterteilt werden:
- Numerische Datentypen wie: INT, TINYINT, BIGINT, FLOAT, REAL, usw.
- Datum- und Zeitdatentypen wie: DATE, TIME, DATETIME, usw.
- Zeichen- und String-Datentypen wie: CHAR, VARCHAR, TEXT, usw.
- Unicode-Zeichenketten-Datentypen wie: NCHAR, NVARCHAR, NTEXT, usw.
- Binäre Datentypen wie: BINARY, VARBINARY, usw.
- Verschiedene Datentypen – CLOB, BLOB, XML, CURSOR, TABLE, usw.
In diesem Artikel erfahren Sie mehr über verschiedene Kategorien von SQL-Datentypen.
Unterschiede zwischen relationalen Datenbankanbietern
Hinweis: Nicht alle Datentypen werden von jedem relationalen Datenbankanbieter unterstützt.
Zum Beispiel unterstützt die Oracle-Datenbank kein DATETIME, und MySQL unterstützt kein CLOB. Beim Entwerfen von Datenbankschemata und Schreiben von SQL-Abfragen stellen Sie sicher, dass die Datentypen unterstützt werden.
Hinweis: Die hier aufgeführten Datentypen umfassen nicht alle Datentypen. Dies sind die am häufigsten verwendeten Datentypen. Einige relationale Datenbankanbieter haben ihre eigenen Datentypen, die hier möglicherweise nicht aufgeführt sind.
Zum Beispiel hat Microsoft SQL Server die Datentypen MONEY und SMALLMONEY, aber da sie nicht von anderen beliebten Datenbankanbietern unterstützt werden, sind sie hier nicht aufgeführt.
Hinweis: Jeder relationale Datenbankanbieter hat seine eigenen maximalen Größenbeschränkungen für verschiedene Datentypen.
Stellen Sie sicher, dass Sie den passenden Datentyp für Ihr spezielles Szenario auswählen.
SQL Numerische Datentypen
Datentyp | Von | Bis |
---|---|---|
BIT | 1 | 0 |
TINYINT | 0 | 255 |
SMALLINT | -32,768 | 32,767 |
INT | -2,147,483,648 | 2,147,483,647 |
BIGINT | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
DECIMAL | -10^38 + 1 | 10^38 – 1 |
NUMERIC | -10^38 + 1 | 10^38 – 1 |
FLOAT | -1.79E+308 | 1.79E+308 |
REAL | -3.40E+38 | 3.40E+38 |
SQL Datum- und Zeit-Datentypen
Datentyp | Beschreibung |
---|---|
DATE | Speichert Datum im Format JJJJ-MM-TT |
TIME | Speichert Zeit im Format HH:MM:SS |
DATETIME | Speichert Datum- und Zeitinformationen im Format JJJJ-MM-TT HH:MM:SS |
TIMESTAMP | Speichert die Anzahl der Sekunden seit der Unix-Epoche (‚1970-01-01 00:00:00‘ UTC) |
YEAR | Speichert das Jahr im 2- oder 4-stelligen Format. Bereich 1901 bis 2155 im 4-stelligen Format. Bereich 70 bis 69, was 1970 bis 2069 entspricht. |
SQL Zeichen- und String-Datentypen
Datentyp | Beschreibung |
---|---|
CHAR | Feste Länge mit einer maximalen Länge von 8.000 Zeichen |
VARCHAR | Variable Länge mit einer maximalen Länge von 8.000 Zeichen |
VARCHAR(max) | Variable Länge mit angegebener maximaler Zeichenanzahl, in MySQL nicht unterstützt |
TEXT | Variable Länge mit einer maximalen Größe von 2 GB Daten |
Hinweis: Diese Datentypen sind für Zeichenströme. Sie sollten nicht mit Unicode-Daten verwendet werden.
SQL Unicode Zeichen- und String-Datentypen
Datentyp | Beschreibung |
---|---|
NCHAR | Feste Länge mit einer maximalen Länge von 4.000 Zeichen |
NVARCHAR | Variable Länge mit einer maximalen Länge von 4.000 Zeichen |
NVARCHAR(max) | Variable Länge mit angegebener maximaler Zeichenanzahl |
NTEXT | Variable Länge mit einer maximalen Größe von 1 GB Daten |
Hinweis: Diese Datentypen werden in MySQL-Datenbanken nicht unterstützt.
SQL Binäre Datentypen
Datentyp | Beschreibung |
---|---|
BINARY | Feste Länge mit einer maximalen Länge von 8.000 Bytes |
VARBINARY | Variable Länge mit einer maximalen Länge von 8.000 Bytes |
VARBINARY(max) | Variable Länge mit angegebener maximaler Byteanzahl |
IMAGE | Variable Länge mit einer maximalen Größe von 2 GB binären Daten |
SQL Verschiedene Datentypen
Datentyp | Beschreibung |
---|---|
CLOB | Charakter-Großobjekte, die bis zu 2 GB speichern können |
BLOB | Für große binäre Objekte |
XML | Zum Speichern von XML-Daten |
JSON | Zum Speichern von JSON-Daten |
Fazit
In dieser Anleitung haben Sie verschiedene Kategorien von SQL-Datentypen kennengelernt.