yoast titulo name keywords etiquetas ejemplos description content contador caracteres mysql database

titulo - Longitud máxima para texto tipo MySQL



meta tags ejemplos (8)

Estoy creando un formulario para enviar mensajes privados y quiero establecer el valor de longitud máxima de un área de text apropiada para la longitud máxima de un campo de text en mi tabla de base de datos MySQL. ¿Cuántos caracteres puede almacenar un campo de texto de texto?

Si es mucho, ¿podría especificar la longitud en el campo de tipo de texto de la base de datos como lo haría con varchar?


¿Cuántos caracteres puede almacenar un campo de texto de texto?

Según la Documentation , puede utilizar un máximo de 21,844 caracteres si el conjunto de caracteres es UTF8

Si fuera mucho, ¿podría especificar la longitud en el campo de tipo de texto db como lo haría con varchar?

No necesitas especificar la longitud. Si necesita más caracteres, utilice los tipos de datos MEDIUMTEXT o LONGTEXT. Con VARCHAR, la longitud específica no es para el requisito de almacenamiento, es solo para la forma en que los datos se recuperan de la base de datos.


TINYTEXT 256 bytes TEXT 65,535 bytes ~64kb MEDIUMTEXT 16,777,215 bytes ~16MB LONGTEXT 4,294,967,295 bytes ~4GB

TINYTEXT es un tipo de datos de cadena que puede almacenar hasta 255 caracteres.

TEXT es un tipo de datos de cadena que puede almacenar hasta 65,535 caracteres. TEXT se utiliza comúnmente para artículos breves.

LONGTEXT es un tipo de datos de cadena con una longitud máxima de 4,294,967,295 caracteres. Use LONGTEXT si necesita almacenar texto grande, como un capítulo de una novela.


Consulte los números máximos en: http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

TINYBLOB, TINYTEXT L + 1 bytes, where L < 2^8 (255 Bytes) BLOB, TEXT L + 2 bytes, where L < 2^16 (64 Kilobytes) MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 2^24 (16 Megabytes) LONGBLOB, LONGTEXT L + 4 bytes, where L < 2^32 (4 Gigabytes)

L es el número de bytes en su campo de texto. Por lo tanto, el número máximo de caracteres para el texto es 2 16 -1 (usando caracteres de un solo byte). Significa 65 535 caracteres (utilizando caracteres de un solo byte).

Codificación UTF-8 / MultiByte : al usar la codificación MultiByte, cada carácter puede consumir más de 1 byte de espacio. Para UTF-8, el consumo de espacio es de 1 a 4 bytes por char.


Para la versión 8.0 de MySql.

Requisitos de almacenamiento de tipo numérico

Data Type Storage Required TINYINT 1 byte SMALLINT 2 bytes MEDIUMINT 3 bytes INT, INTEGER 4 bytes BIGINT 8 bytes FLOAT(p) 4 bytes if 0 <= p <= 24, 8 bytes if 25 <= p <= 53 FLOAT 4 bytes DOUBLE, REAL 8 bytes DECIMAL(M,D), NUMERIC(M,D) Varies; see following discussion BIT(M) approximately (M+7)/8 bytes

Los valores para las columnas DECIMAL (y NUMÉRICAS) se representan mediante un formato binario que contiene nueve dígitos decimales (base 10) en cuatro bytes. El almacenamiento para las partes enteras y fraccionarias de cada valor se determina por separado. Cada múltiplo de nueve dígitos requiere cuatro bytes, y los dígitos "sobrantes" requieren una fracción de cuatro bytes. El almacenamiento requerido para los dígitos en exceso viene dado por la siguiente tabla.

Requisitos de almacenamiento del tipo de fecha y hora Para las columnas TIME, DATETIME y TIMESTAMP, el almacenamiento requerido para las tablas creadas antes de MySQL 5.6.4 difiere de las tablas creadas a partir de la 5.6.4. Esto se debe a un cambio en 5.6.4 que permite que estos tipos tengan una parte fraccionaria, que requiere de 0 a 3 bytes.

Data Type Storage Required Before MySQL 5.6.4 Storage Required as of MySQL 5.6.4 YEAR 1 byte 1 byte DATE 3 bytes 3 bytes TIME 3 bytes 3 bytes + fractional seconds storage DATETIME 8 bytes 5 bytes + fractional seconds storage TIMESTAMP 4 bytes 4 bytes + fractional seconds storage

A partir de MySQL 5.6.4, el almacenamiento de YEAR y DATE permanece sin cambios. Sin embargo, TIME, DATETIME y TIMESTAMP se representan de manera diferente. DATETIME se empaqueta de manera más eficiente, requiriendo 5 en lugar de 8 bytes para la parte no fraccional, y las tres partes tienen una parte fraccionaria que requiere de 0 a 3 bytes, dependiendo de la precisión fraccional de segundos de los valores almacenados.

Fractional Seconds Precision Storage Required 0 0 bytes 1, 2 1 byte 3, 4 2 bytes 5, 6 3 bytes

Por ejemplo, TIME (0), TIME (2), TIME (4) y TIME (6) utilizan 3, 4, 5 y 6 bytes, respectivamente. TIEMPO y TIEMPO (0) son equivalentes y requieren el mismo almacenamiento.

Para obtener detalles sobre la representación interna de valores temporales, vea MySQL Internals: Important Algorithms and Structures.

Requisitos de almacenamiento de tipo de cadena En la siguiente tabla, M representa la longitud de columna declarada en caracteres para tipos de cadena no binarios y bytes para tipos de cadena binarios. L representa la longitud real en bytes de un valor de cadena dado.

Data Type Storage Required CHAR(M) The compact family of InnoDB row formats optimize storage for variable-length character sets. See COMPACT Row Format Characteristics. Otherwise, M × w bytes, <= M <= 255, where w is the number of bytes required for the maximum-length character in the character set. BINARY(M) M bytes, 0 <= M <= 255 VARCHAR(M), VARBINARY(M) L + 1 bytes if column values require 0 − 255 bytes, L + 2 bytes if values may require more than 255 bytes TINYBLOB, TINYTEXT L + 1 bytes, where L < 28 BLOB, TEXT L + 2 bytes, where L < 216 MEDIUMBLOB, MEDIUMTEXT L + 3 bytes, where L < 224 LONGBLOB, LONGTEXT L + 4 bytes, where L < 232 ENUM(''value1'',''value2'',...) 1 or 2 bytes, depending on the number of enumeration values (65,535 values maximum) SET(''value1'',''value2'',...) 1, 2, 3, 4, or 8 bytes, depending on the number of set members (64 members maximum)



TINYTEXT: 256 bytes
Texto: 65,535 bytes.
MEDIUMTEXT: 16,777,215 bytes.
LONGTEXT: 4,294,967,295 bytes


TEXT es un tipo de datos de cadena que puede almacenar hasta 65,535 caracteres. Pero aún así, si desea almacenar más datos, cambie su tipo de datos a LONGTEXT

ALTER TABLE name_tabel CHANGE text_field LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;


Type | Approx. Length | Exact Max. Length Allowed ----------------------------------------------------------- TINYTEXT | 256 Bytes | 255 characters TEXT | 64 Kilobytes | 65,535 characters MEDIUMTEXT | 16 Megabytes | 16,777,215 characters LONGTEXT | 4 Gigabytes | 4,294,967,295 characters

Nota: Si utiliza caracteres de varios bytes (como las letras árabes en las que cada carácter toma 2 bytes), la columna "Longitud exacta máxima permitida" tendrá una longitud diferente. Por ejemplo: si usa caracteres de 2 bytes, la longitud máxima exacta de TINYTEXT sería 127 caracteres. Básicamente, es el número de bytes permitidos -1.