Heim >Datenbank >MySQL-Tutorial >Was ist der Unterschied zwischen Blob und Text in MySQL?
Unterschied: 1. BLOB wird in MySQL zum Speichern von Binärdaten verwendet, während TEXT zum Speichern von Zeichendaten verwendet wird. 2. BLOB-Spalten haben keinen Zeichensatz und Sortierung und Vergleich basieren auf numerischen Werten des Spaltenwerts Bytes, während TEXT-Spalten einen Zeichensatz haben und Werte gemäß den Sortierregeln des Zeichensatzes sortiert und verglichen werden.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
Es gibt zwei Feldtypen in MySQL, die leicht zu verwechseln sind: TEXT und BLOB. Schauen wir uns die Unterschiede zwischen den beiden an.
Der Unterschied zwischen Blob und Text
1. Hauptunterschied
Der Hauptunterschied zwischen TEXT und BLOB besteht darin, dass BLOB Binärdaten und TEXT Zeichendaten speichert. Derzeit werden fast alle Bilder in Blog-Inhalten nicht im Binärformat in der Datenbank gespeichert. Stattdessen werden die Bilder mit dem Tag referenziert. BLOB kann Bilder in Binärdateien umwandeln und in der Datenbank speichern.
2. Typenunterschied
BLOB hat 4 Typen: TINYBLOB, BLOB, MEDIUMBLOB und LONGBLOB. Sie unterscheiden sich lediglich in der maximalen Länge, in der sie einen Wert aufnehmen können.
TEXT hat auch 4 Typen: TINYTEXT, TEXT, MEDIUMTEXT und LONGTEXT. Diese Typen haben die gleichen maximalen Längen- und Speicheranforderungen wie die BLOB-Typen.
3. Zeichensatz
BLOB-Spalten haben keinen Zeichensatz und Sortierung und Vergleich basieren auf dem numerischen Wert der Spaltenwertbytes. Die TEXT-Spalte verfügt über einen Zeichensatz, und die Werte werden gemäß den Sortierregeln des Zeichensatzes sortiert und verglichen Fallumwandlung, sie sind alle gleich!
5. Strikter Modus
Wenn Sie einer BLOB- oder TEXT-Spalte einen Wert zuweisen, der die maximale Länge des Spaltentyps überschreitet, wird der Wert gekürzt, um sicherzustellen, dass er passt. Wenn das abgeschnittene Zeichen kein Leerzeichen ist, wird eine Warnung generiert. Im strikten SQL-Modus wird ein Fehler generiert und der Wert abgelehnt, anstatt mit einer Warnung abzufangen.
6. Andere
Löschen Sie keine nachgestellten Leerzeichen, wenn Sie BLOB- und TEXT-Spaltenwerte speichern oder abrufen.
Für Indizes auf BLOB- und TEXT-Spalten muss die Länge des Indexpräfixes angegeben werden. BLOB- und TEXT-Spalten können keine Standardwerte haben.
Nur die ersten max_sort_length Bytes der Spalte werden beim Sortieren verwendet. Der Standardwert von max_sort_length ist 1024.
Eine andere Möglichkeit, GROUP BY oder ORDER BY für BLOB- oder TEXT-Spalten mit langen Werten zu verwenden, wenn Sie Bytes, die max_sort_length überschreiten, sinnvoll verstehen möchten, besteht darin, die Spaltenwerte in Objekte mit fester Länge zu konvertieren. Der Standardansatz ist die Verwendung der SUBSTRING-Funktion.
Die maximale Größe eines BLOB- oder TEXT-Objekts wird durch seinen Typ bestimmt, aber die maximale Größe, die tatsächlich zwischen Client und Server übergeben werden kann, wird durch die Menge des verfügbaren Speichers und die Größe des Kommunikationspuffers bestimmt. Sie können die Größe des Nachrichtenpuffers ändern, indem Sie den Wert der Variablen max_allowed_packet ändern. Sie müssen jedoch sowohl die Server- als auch die Clientprogramme ändern.
【Verwandte Empfehlung:
MySQL-Video-Tutorial】
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Blob und Text in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!