Tipos de datos en phpMyAdmin
1.1.- Tipos de datos en phpMyAdmin.
Los Tipos que tiene phpMyAdmin (o el Sistema Gestor de Bases de Datos MySQL) son los siguientes:
Ilustración 25. Tipos de Datos.
Podemos encontrarlos en la lista desplegable que aparece en la pantalla en la que definimos los campos de una tabla, y estas son sus características:
a) Tipos de cadena:
· Char(n): almacena una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres.
· VarChar(n): almacena una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres.
Dentro de los tipos de cadena se pueden distinguir otros dos subtipos, los tipo Test y los tipo BLOB (Binary large Object)
La diferencia entre un tipo y otro es el tratamiento que reciben a la hora de realizar ordenamientos y comparaciones. Mientras que el tipo test se ordena sin tener en cuenta las Mayúsculas y las minúsculas, el tipo BLOB se ordena teniéndolas en cuenta.
Los tipos BLOB se utilizan para almacenar datos binarios como pueden ser ficheros.
· TinyText y TinyBlob: Columna con una longitud máxima de 255 caracteres.
· Blob y Text: un texto con un máximo de 65535 caracteres.
· MediumBlob y MediumText: un texto con un máximo de 16.777.215 caracteres.
· LongBlob y LongText: un texto con un máximo de caracteres 4.294.967.295. Hay que tener en cuenta que debido a los protocolos de comunicación los paquetes pueden tener un máximo de 16 Mb.
· Enum: campo que puede tener un único valor de una lista que se especifica. El tipo Enum acepta hasta 65535 valores distintos
· Set: un campo que puede contener ninguno, uno ó varios valores de una lista. La lista puede tener un máximo de 64 valores.
Tamaños de almacenamiento:
Tipo de campo
|
Tamaño de Almacenamiento
|
CHAR(n)
|
n bytes
|
VARCHAR(n)
|
n +1 bytes
|
TINYBLOB, TINYTEXT
|
Longitud + 1 bytes
|
BLOB, TEXT
|
Longitud +2 bytes
|
MEDIUMBLOB, MEDIUMTEXT
|
Longitud +3 bytes
|
LONGBLOB, LONGTEXT
|
Longitud +4 bytes
|
ENUM('value1','value2',...)
|
1 ó dos bytes dependiendo del número de valores
|
SET('value1','value2',...)
|
1, 2, 3, 4 ó 8 bytes, dependiendo del número de valores
|
Diferencia de almacenamiento entre los tipos Char y VarChar:
Valor
|
CHAR(4)
|
Almacenamiento
|
VARCHAR(4)
|
Almacenamiento
|
''
|
''
|
4 bytes
|
"
|
1 byte
|
'ab'
|
'ab '
|
4 bytes
|
'ab'
|
3 bytes
|
'abcd'
|
'abcd'
|
4 bytes
|
'abcd'
|
5 bytes
|
'abcdefgh'
|
'abcd'
|
4 bytes
|
'abcd'
|
5 bytes
|
b) Tipos numéricos:
Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los que están en coma flotante (con decimales) y los que no.
· TinyInt: es un número entero con o sin signo. Con signo el rango de valores válidos va desde -128 a 127. Sin signo, el rango de valores es de 0 a 255
· Bit ó Bool: un número entero que puede ser 0 ó 1
· SmallInt: número entero con o sin signo. Con signo el rango de valores va desde -32768 a 32767. Sin signo, el rango de valores es de 0 a 65535.
· MediumInt: número entero con o sin signo. Con signo el rango de valores va desde -8.388.608 a 8.388.607. Sin signo el rango va desde 0 a16777215.
· Integer, Int: número entero con o sin signo. Con signo el rango de valores va desde -2147483648 a 2147483647. Sin signo el rango va desde 0 a 429.4967.295
· BigInt: número entero con o sin signo. Con signo el rango de valores va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. Sin signo el rango va desde 0 a 18.446.744.073.709.551.615.
· Float: número pequeño en coma flotante de precisión simple. Los valores válidos van desde -3.402823466E+38 a -1.175494351E-38, 0 y desde 1.175494351E-38 a 3.402823466E+38.
· xReal, Double: número en coma flotante de precisión doble. Los valores permitidos van desde -1.7976931348623157E+308 a -2.2250738585072014E-308, 0 y desde 2.2250738585072014E-308 a 1.7976931348623157E+308
· Decimal, Dec, Numeric: Número en coma flotante desempaquetado. El número se almacena como una cadena.
Tamaños de almacenamiento:
Tipo de Campo
|
Tamaño de Almacenamiento
|
TINYINT
|
1 byte
|
SMALLINT
|
2 bytes
|
MEDIUMINT
|
3 bytes
|
INT
|
4 bytes
|
INTEGER
|
4 bytes
|
BIGINT
|
8 bytes
|
FLOAT(X)
|
4 ú 8 bytes
|
FLOAT
|
4 bytes
|
DOUBLE
|
8 bytes
|
DOUBLE PRECISION
|
8 bytes
|
REAL
|
8 bytes
|
DECIMAL(M,D)
|
M+2 bytes sí D > 0, M+1 bytes sí D = 0
|
NUMERIC(M,D)
|
M+2 bytes if D > 0, M+1 bytes if D = 0
|
No hay comentarios:
Publicar un comentario