Heim >Datenbank >MySQL-Tutorial >Verstehen Sie den Unterschied zwischen den Feldtypen TEXT und BLOB in MySQL
Es gibt zwei Feldtypen in MySQL, die leicht zu verwechseln sind, nämlich TEXT und BLOB, insbesondere Blogger, die ihre eigenen Blog-Programme schreiben, wissen nicht, wie sie zu ihren eigenen wechseln können Wählen Sie den Typ TEXT oder BLOB für das Blog-Textfeld.
Im Folgenden sind einige Unterschiede aufgeführt:
1. Hauptunterschiede
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. Typunterschiede
Es gibt 4 BLOB-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
4. Groß- und Kleinschreibung
existiert während des Speicher- oder Abrufvorgangs nicht von TEXT- oder BLOB-Spalten Die Groß-/Kleinschreibung ist gleich!
5. Strikter Modus
Wenn Sie im nicht-strikten Modus einen Wert einer BLOB- oder TEXT-Spalte zuweisen, der die maximale Länge des Spaltentyps überschreitet, wird der Wert auf gekürzt Stellen Sie sicher, dass es 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. Sonstiges
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.
Beim Sortieren werden nur die ersten max_sort_length Bytes der Spalte verwendet. Der Standardwert von max_sort_length ist 1024.
Eine andere Möglichkeit, GROUP BY oder ORDER BY für eine BLOB- oder TEXT-Spalte mit langen Werten zu verwenden, wenn Sie Bytes verstehen möchten, die max_sort_length überschreiten, besteht darin, den Spaltenwert in ein Objekt 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 den Kommunikations-Cache bestimmt Flächengröße. 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.
Das obige ist der detaillierte Inhalt vonVerstehen Sie den Unterschied zwischen den Feldtypen TEXT und BLOB in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!