In diesem Abschnitt werden wir die Funktionsweise des PostgreSQL Varchar-Datentyps verstehen, der es uns ermöglicht, Zeichen von unbegrenzter Länge zu speichern. Und wir sehen auch Beispiele für den Varchar-Datentyp und Leerzeichen.
Was ist der PostgreSQL Varchar-Datentyp?
In PostgreSQL wird der Varchar-Datentyp verwendet, um das Zeichen von unendlicher Länge zu speichern. Und es kann eine Zeichenfolge mit einer maximalen Länge von 65.535 Bytes enthalten.
Mit anderen Worten können wir sagen, dass der PostgreSQL Varchar-Datentyp den Zeichen-Datentyp verwendet, der als VARCHAR bezeichnet wird.
- Meistens sollten wir die Datentypen Varchar und Text verwenden. Wenn wir wollen, dass PostgreSQL die Länge prüft, dann verwenden wir VARCHAR(n).
- In PostgreSQL wird varchar als Varchar (n) dargestellt, wobei n verwendet wird, um die Grenze der Zeichenlänge zu kennzeichnen. Wenn n nicht beschrieben wird, ist es standardmäßig Varchar, die unendliche Länge hat.
- Wenn wir versuchen, eine längere Zeichenfolge in der Spalte mit Varchar(n) angegeben zu bekommen, tritt die PostgreSQL einen Fehler in der Ausgabe.
- Wenn die zusätzlichen Zeichen sind alle Leerzeichen, dann wird die PostgreSQL trimmen die Leerzeichen auf die maximale Länge (n) und speichern Sie die Zeichenfolge.
- PostgreSQL prüft und gibt einen Fehler aus, wenn wir den Längenspezifizierer für den Varchar-Datentyp definieren oder wenn wir versuchen, mehr als n Zeichen in die Varchar(n)-Spalte einzufügen.
Hinweis: Ein Varchar-Datentyp ist ein String mit variabler Länge, der Sonderzeichen, Zahlen und Buchstaben enthalten kann. Und n speichern Text, dessen Länge maximal 0 bis 65535 Zeichen betragen kann.
Syntax des PostgreSQL Varchar-Datentyps
Die Syntax des PostgreSQL Varchar-Datentyps ist wie folgt:
Beispiele des PostgreSQL Varchar-Datentyps
Lassen Sie uns verschiedene Beispiele sehen, um zu verstehen, wie der PostgreSQL Varchar-Datentyp funktioniert.
Zu diesem Zweck werden wir eine neue Tabelle mit dem Namen Varchar_demo mit Hilfe des Befehls CREATE erstellen und einige Werte mit dem Befehl INSERT einfügen.
Wir werden die Tabelle Varchar_demo mit Hilfe des CREATE-Befehls in der Datenbank Organization erstellen:
Ausgabe
Nach erfolgreicher Ausführung des obigen Befehls wurde die Tabelle Varchar_demo erstellt, wie im folgenden Bild zu sehen ist:
Nachdem die Tabelle Varchar_demo erstellt wurde, werden wir einige Werte mit Hilfe des INSERT-Befehls in sie einfügen.
Ausgabe
Nach der Implementierung des obigen Befehls erhalten wir folgende Ausgabe, PostgreSQL gibt eine Fehlermeldung aus, dass „der Wert zu lang für den Typ Zeichen variierend (1)“ ist.
Das bedeutet, dass der Datentyp der Spalte P VARCHAR (1) ist, und wir versuchen, eine Zeichenkette mit drei Zeichen in eine bestimmte Spalte einzufügen, wie wir im folgenden Screenshot sehen können:
Um den obigen Fehler zu beheben, verwenden wir den folgenden Befehl:
Ausgabe
Bei der Ausführung des obigen Befehls gibt PostgreSQL einen ähnlichen Fehler für die Spalte Q aus, was bedeutet, dass der Datentyp der Spalte Q VARCHAR (10) ist. Im Gegensatz dazu ist die Anzahl der eingegebenen Zeichen größer als 10, wie im folgenden Screenshot zu sehen ist:
Um die beiden oben genannten Fehler zu beheben, verwenden wir den folgenden Befehl:
Output
Nach der Ausführung des obigen Befehls erhalten wir das folgende Ergebnis: Der Wert wurde erfolgreich in die Tabelle Varchar_demo eingefügt.
Wie wir im obigen Screenshot sehen können, haben wir die Werte der Spalten P und Q erfolgreich eingefügt.
Nach dem Erstellen und Einfügen der Werte der Varchar_demo-Tabelle verwenden wir den SELECT-Befehl, um alle Zeilen der Varchar_demo-Tabelle zurückzugeben:
Ausgabe
Nach der Implementierung des obigen Befehls erhalten wir das folgende Ergebnis, in dem wir sehen können, dass sowohl die Werte der Spalte P als auch der Spalte Q erfolgreich in die Varchar_demo-Tabelle eingegeben wurden.
Beispiel 2
Lassen Sie uns ein weiteres Beispiel sehen, um den Datentyp Varchar im Detail zu lernen. Wir erstellen eine neue Tabelle als Varchar_demo2 mit Hilfe des CREATE-Befehls und fügen einige Werte mit dem INSERT-Befehl ein.
Wir werden Varchar_demo2 in einer ähnlichen Datenbank wie oben erstellen, die mit dem CREATE-Befehl organisiert wird:
Output
Die Tabelle Varchar_demo2 wurde nach der Ausführung des obigen Befehls erfolgreich erstellt, wie im folgenden Screenshot zu sehen ist:
Nachdem die Tabelle Varchar_demo2 erstellt wurde, können wir mit dem INSERT-Befehl einige Werte in sie einfügen.
Ausgabe
Nach der Implementierung des obigen Befehls. PostgreSQL gibt die Fehlermeldung „Der Wert ist zu lang für den Typ Character (1)“. Die Ausgabe erklärt es deutlicher.
Beispiel für PostgreSQL VARCHAR und Leerzeichen
PostgreSQL erweitert das Leerzeichen für varchar-Werte nicht, wenn sie gespeichert werden, und PostgreSQL nimmt auch die Leerzeichen am Ende, wenn sie Varchar-Werte speichern oder wiederherstellen.
Dazu sehen wir uns das folgende Beispiel an, um es zu verstehen, wobei der Befehl Insert, und wir fügen Werte in der Spalte Name in der Tabelle Varchar_demo2, die wir im obigen Beispiel erstellt haben:
Output
Nach der Ausführung des obigen Befehls, erhalten wir das folgende Ergebnis: der Wert wurde erfolgreich in die Tabelle Varchar_demo2 eingefügt.
Nach dem Erstellen und Einfügen der Werte der Tabelle Varchar_demo2 verwenden wir den SELECT-Befehl, um die Werte aus der Tabelle Varchar_demo2 abzurufen:
Output
Nach der Ausführung des obigen Befehls erhalten wir das folgende Ergebnis, bei dem PostgreSQL das nachgestellte Leerzeichen bei der Zählung der Länge enthält, da es die Spaltenlänge nicht erhöht.
Wenn wir versuchen, einen Varchar-Wert mit abschließenden Leerzeichen einzufügen, der die Spaltenlänge überschreitet, schneidet PostgreSQL die abschließenden Leerzeichen ab. Außerdem gibt PostgreSQL eine Warnung aus. Wie im folgenden Beispiel gezeigt:
Ausgabe
Bei der Ausführung des obigen Befehls erhalten wir das folgende Ergebnis:
Im obigen Befehl ist die Länge des eingefügten Wertes in der Spalte Name sechs. Und der Wert wird immer noch in die Spalte eingefügt. PostgreSQL schneidet jedoch das Leerzeichen am Ende ab, bevor der Wert eingefügt wird.
Wir können dies mit der Hilfe des folgenden Befehls überprüfen, bei dem der Insert-Befehl erfolgreich eingefügt wird.
Output
Nach der Implementierung des obigen Befehls erhalten wir die folgende Ausgabe mit einer Warnung, die lautet: Data truncated for column ‚Name‘ at row 1:
Unterschied zwischen PostgreSQL CHAR und PostgreSQL VARCHAR Datentyp
Die PostgreSQL CHAR und VARCHAR Datentypen folgen beide ASCII Zeichen. Sie sind praktisch ähnlich, unterscheiden sich aber beim Speichern und Abrufen der Daten aus der Datenbank.
Die folgende Tabelle hebt die wesentlichen Unterschiede zwischen dem CHAR und VARCHAR Datentyp hervor:
PostgreSQL CHAR Datentyp | PostgreSQL VARCHAR Datentyp |
---|---|
PostgreSQL unterstützt die statische Speicherzuweisung für den Char Datentyp. | PostgreSQL unterstützt die dynamische Speicherzuweisung für den Datentyp Varchar. |
Der Datentyp Char ist auch als Character bekannt. | Der Varchar-Datentyp wird auch als Variable Character bezeichnet. |
Der Char-Datentyp kann nicht mehr als 255 Zeichen enthalten. | Der Varchar-Datentyp kann bis zu 65535 Zeichen enthalten. |
Der Datentyp Char speichert die Werte in fester Länge, die wir bei der Erstellung einer Tabelle darstellen. | Der Datentyp Varchar speichert die Werte in einer Zeichenkette variabler Länge mit einem oder zwei Byte Längenpräfix. |
Sie kann mit einem Leerzeichen am Ende aufgefüllt werden, um die angegebene Länge zu erhalten. | Sie kann nicht mit einem beliebigen Zeichen aufgefüllt werden, mit Leerzeichen, wenn sie gespeichert werden. |
Übersicht
Im Abschnitt über den PostgreSQL-Datentyp Varchar haben wir die folgenden Themen kennengelernt:
- Der Datentyp Varchar wird für Zeichentypen unterschiedlicher Länge verwendet.
- Wenn wir die Länge der Zeichenkette (n) prüfen wollen, bevor wir sie in die Spalte einfügen oder aktualisieren, können wir den Varchar(n)-Datentyp verwenden.
- Wir verwenden den PostgreSQL Varchar-Datentyp und Leerzeichen.