Maison >base de données >tutoriel mysql >Quelle est la différence entre blob et texte dans MySQL

Quelle est la différence entre blob et texte dans MySQL

青灯夜游
青灯夜游original
2022-02-17 18:04:326592parcourir

Différence : 1. BLOB dans MySQL est utilisé pour enregistrer des données binaires, tandis que TEXT est utilisé pour enregistrer des données de caractères ; 2. Les colonnes BLOB n'ont pas de jeu de caractères et le tri et la comparaison sont basés sur les valeurs numériques de la valeur de la colonne. octets, tandis que les colonnes TEXT ont un jeu de caractères et les valeurs sont triées et comparées selon les règles de classement du jeu de caractères.

Quelle est la différence entre blob et texte dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Il existe deux types de champs dans MySQL qui sont faciles à confondre, à savoir TEXT et BLOB. Examinons les différences entre les deux.

La différence entre blob et texte

1. Principale différence

La principale différence entre TEXT et BLOB est que BLOB stocke les données binaires et TEXT stocke les données de caractères. À l'heure actuelle, presque toutes les images du contenu du blog ne sont pas stockées en binaire dans la base de données. Au lieu de cela, les images sont téléchargées sur le serveur puis référencées à l'aide de la balise dans le texte. BLOB peut convertir des images en binaire et les enregistrer dans la base de données.

2. Différence de type

BLOB a 4 types : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB. Ils ne diffèrent que par la longueur maximale pendant laquelle ils peuvent contenir une valeur.

TEXT a également 4 types : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT. Ces types ont la même longueur maximale et les mêmes exigences de stockage que les types BLOB.

3. Jeu de caractères

Les colonnes BLOB n'ont pas de jeu de caractères, et le tri et la comparaison sont basés sur la valeur numérique des octets de valeur de la colonne. La colonne TEXTE a un jeu de caractères, et les valeurs sont triées et comparées selon les règles de classement du jeu de caractères

4. Cas

Lors du processus de stockage ou de récupération des colonnes TEXTE ou BLOB, il n'y a pas cas de conversion, ils sont tous pareils !

5. Mode strict

Lors de l'exécution en mode non strict, si vous attribuez une valeur à une colonne BLOB ou TEXT qui dépasse la longueur maximale du type de colonne, la valeur est tronquée pour garantir qu'elle s'adapte. Si le caractère tronqué n'est pas un espace, un avertissement sera généré. En utilisant le mode SQL strict, une erreur sera générée et la valeur sera rejetée au lieu d'être interceptée avec un avertissement.

6. Autres

Ne supprimez pas les espaces de fin lors de l'enregistrement ou de la récupération des valeurs des colonnes BLOB et TEXT.

Pour les index sur les colonnes BLOB et TEXT, la longueur du préfixe d'index doit être spécifiée.

Les colonnes BLOB et TEXT ne peuvent pas avoir de valeurs par défaut.

Seuls les premiers octets max_sort_length de la colonne sont utilisés lors du tri. La valeur par défaut de max_sort_length est 1024.

Une autre façon d'utiliser GROUP BY ou ORDER BY sur des colonnes BLOB ou TEXT contenant des valeurs longues lorsque vous souhaitez donner un sens aux octets dépassant max_sort_length consiste à convertir les valeurs de colonne en objets de longueur fixe. L'approche standard consiste à utiliser la fonction SUBSTRING.

La taille maximale d'un objet BLOB ou TEXT est déterminée par son type, mais la taille maximale qui peut réellement être transmise entre le client et le serveur est déterminée par la quantité de mémoire disponible et la taille du tampon de communication. Vous pouvez modifier la taille du tampon de messages en modifiant la valeur de la variable max_allowed_packet, mais vous devez modifier à la fois les programmes serveur et client.

【Recommandation associée : tutoriel vidéo mysql

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn