Die Textdatentypen in SQL

Rainer Schulz » 07. März 2011 um 21:47 Uhr

0 Kommentare

SQL 

Vorwort

Wie ich in meinem letzten Beitrag schon erwähnt habe, werden Textdatentypen als Zeichenketten in der Datenbank gespeichert. In Zeichenketten können Buchstaben, Zahlen, Sonder- und Steuerzeichen gespeichert werden. Zeichenketten kann man mit fester, variabler oder sehr großer Länge in eine Datenbank aufnehmen.

Die Textdatentypen laut SQL-Standard

Der SQL-Standard kennt 3 Textdatentypen auf die ich hier eingehen möchte:

  • CHARACTER bzw. CHAR

  • CHARACTER VARYING bzw. VARCHAR

  • CHARACTER LARGE OBJECT

CHARACTER, CHAR

Mit dem Datentyp CHARACTER(n) bzw. CHAR(n) wird einer Spalte in der Tabelle eine Zeichenkette mit fester Länge als Datentyp festgelegt. Für jeden Wert der hier gespeichert wird, wird also immer n-Länge als Speicherplatz zugewiesen. Möchte man nur ein Zeichen in der Spalte speichern braucht man n nicht angeben.

Dieser Datentyp eignet sich also gut für Werte bei denen man schon im Voraus weiß, dass sie immer die selbe Länge haben wie zum Beispiel (deutsche) Postleitzahlen.

Ich habe diesen Datentyp, zu meiner eigenen Schande, noch nie in einer meiner Datenbanken benutzt. Jedenfalls werde ich demnächst einmal die Datenbank meines Blogs durchforsten und schauen wo dieser Datentyp Sinn macht.

CHARACTER VARYING, VARCHAR

Mit dem Datentyp CHARACTER VARYING(n) bzw. VARCHAR(n) wird einer Spalte in der Tabelle eine Zeichenkette mit maximal n-Länge als Datentyp festgelegt. Es wird also immer nur soviel Speicherplatz verbraucht wie auch tatsächlich Daten vorhanden sind.

Diesen Datentyp kann man also für Spalten nutzen, bei denen man im Voraus nicht genau weiß wie lang die Daten sein werden. Verwenden kann man diesen Datentyp zum Beispiel für Namen, Bezeichnungen oder auch Kommentare.

CHARACTER LARGE OBJECT

Mit dem Datentyp CHARACTER LARGE OBJECT lassen sich, wie der Name schon vermuten lässt, große Zeichenketten abspeichern.

Ich benutze diesen Datentyp in der Datenbank meines Blogs zum Beispiel für die Beiträge und die Kommentare. In meiner MySQL-Datenbank heißt dieser Datentyp übrigens TEXT.

Maximale Längen von Textdatentypen

CHARACTER, CHAR, CHARACTER VARYING und VARCHAR haben in älteren Datenbankmanagementsystemen (DBMS) meist eine maximale Länge von 255 Zeichen, in neueren DBMS dagegen meist 32767 Zeichen.

Für den CHARACTER LARGE OBJECT Datentyp konnte ich bei meinen Recherchen leider keinen genauen Wert ermitteln. Ich habe lediglich gelesen, dass dieser Datentyp mehrere Gigabyte an Daten aufnehmen kann.

Zahlen als Zeichenkette abspeichern?

Da die meisten Programmiersprachen welche mit Zahlendatentypen arbeiten keine führende Null in diesen Datentypen akzeptieren, kann es sinnvoll sein, bestimmte Zahlenfolgen als Zeichenkette zu speichern. Sinnvoll ist dies zum Beispiel bei Postleitzahlen oder Telefonnummern.

Abschließendes

Ich hoffe dieser Beitrag war aufschlussreich und konnte euch diese 3 Datentypen näher bringen. Meinen nächsten Beitrag werde ich den Zahlendatentypen widmen. Bis dahin wünsche ich noch eine schöne Woche.

 

Diese Artikel könnten dich auch interessieren

1. Datentypen in SQL » 06. März 2011
2. Einstieg in die Datenbankverwaltung mit SQL » 02. März 2011

Diesen Beitrag teilen

Twitter Facebook Delicious Digg Bei allen Services (Mister Wong, Yigg, Infopirat etc.)

  1. 0 Kommentare zum Beitrag.

  2. 1. von Console am 09. Dezember 2016 um 14:27:39 Uhr.

    Noch keine Kommentare vorhanden.

  3. Schreib einen Kommentar.
  4. Kommentare sind deaktiviert.