59 - Tipos de datos blob y text. |
Los tipos "blob" o "text" son bloques de datos. Tienen una longitud de 65535 caracteres.
Un "blob" (Binary Large Object) puede almacenar un volumen variable de datos. La diferencia entre "blob" y "text" es que "text" diferencia mayúsculas y minúsculas y "blob" no; esto es porque "text" almacena cadenas de caracteres no binarias (caracteres), en cambio "blob" contiene cadenas de caracteres binarias (de bytes).
No permiten valores "default".
Existen subtipos:
- tinyblob o tinytext: longitud máxima de 255 caracteres.
- mediumblob o mediumtext: longitud de 16777215 caracteres.
- longblob o longtext: longitud para 4294967295 caracteres.
Se utiliza este tipo de datos cuando se necesita almacenar imágenes, sonidos o textos muy largos.
Un video club almacena la información de sus películas en alquiler en una tabla denominada "peliculas". Además del título, actor y duración de cada película incluye un campo en el cual guarda la sinopsis de cada una de ellas.
La tabla contiene un campo de tipo "text" llamado "sinopsis":
- codigo: int unsigned auto_increment, clave primaria, - nombre: varchar(40), - actor: varchar(30), - duracion: tinyint unsigned, - sinopsis: text,
Se ingresan los datos en un campo "text" o "blob" como si fuera de tipo cadena de caracteres, es decir, entre comillas:
insert into peliculas values(1,'Mentes que brillan','Jodie Foster',120, 'El no entiende al mundo ni el mundo lo entiende a él; es un niño superdotado. La escuela especial a la que asiste tampoco resuelve los problemas del niño. Su madre hará todo lo que esté a su alcance para ayudarlo. Drama');
Para buscar un texto en un campo de este tipo usamos "like":
select * from peliculas where sinopsis like '%Drama%';
No se pueden establecer valores por defecto a los campos de tipo "blob" o "text", es decir, no aceptan la cláusula "default" en la definición del campo.