Tipos de datos en Mysql
En MySQL hay básicamente tres categorías distintas de tipos de datos: los datos numéricos, los datos de
fechas y los de cadena.
Tipos de Datos Numéricos
TinyInt - número entero con o sin signo.
Con signo el rango de valores va de -128 a 127.
Sin signo, va de 0 a 255.
Bit ó Bool - número entero que puede ser 0 ó 1.
SmallInt - número entero con o sin signo.
Con signo el rango va desde -32768 a 32767.
Sin signo, de 0 a 65535.
MediumInt - número entero con o sin signo.
Con signo va desde -8.388.608 a 8.388.607.
Sin signo desde 0 a 16.777.215.
Integer ó Int - número entero con o sin signo.
Con signo va desde -2.147.483.648 a 2.147.483.647.
Sin signo desde 0 a 4.294.967.295
BigInt - número entero con o sin signo.
Con signo va desde -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807.
Sin signo 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.402823466 e+38 a -1.175494351 e-38, 0 (cero) y desde 1.175494351 e-
38 a 3.402823466 e+38.
Su sintaxis es: Float (M,D) donde El valor del argumento M nos indica el número de digitos que se van a utilizar para representar el número y el valor del argumento D nos indica el número de posiciones decimales.
Ejemplo de uso: Teniendo la definición Float (5,2) un posible valor para este campo seria 123.45
Double - número en coma flotante de precisión doble.
Los valores van desde -1.7976931348623157 e+308 a -2.2250738585072014 e-308, 0 (cero) y desde
2.2250738585072014 e-308 a 1.7976931348623157 e+308.
Su sintaxis es: Float (M,D).
Decimal, Dec ó Numeric - número en coma flotante desempaquetado.
El número se almacena como una cadena.
Tipos de Datos de Fecha
Date - guarda una fecha.
El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999, y el formato es: AAAA-MM-DD.
DateTime - combinación de fecha y hora.
El rango va desde el 1 de enero del 1001 a las 0 horas, 0 minutos y 0 segundos al 31 de diciembre del
9999 a las 23 horas, 59 minutos y 59 segundos y el formato es: AAAA-MM-DD HH:MM:SS.
TimeStamp - también combina fecha y hora.
El rango va desde el 1 de enero de 1970 al año 2037.
El formato de almacenamiento depende del tamaño que asignemos al campo. Si el tamaño es 14
(máximo), el formato será algo como esto: AAAAMMDDHHMMSS (un ejemplo de timestamp(14) sería:
20080311213018, que representaría unos segundos pasadas las 21.30hs del 11/03/2008).
Si el tamaño fuera 12: AAMMDDHHMMSS, si fuera 8: AAAAMMDD, para 6: AAMMDD, con 4 sería: AAMM y
por último 2: AA.
Time - almacena una hora.
El rango de horas va desde -838 horas, 59 minutos y 59 segundos a 838, 59 minutos y 59 segundos y el
formato es HH:MM:SS
Year - almacena un año.
El rango de valores va desde el año 1901 al año 2155.
El campo puede tener tamaño dos o tamaño 4 dependiendo de si queremos almacenar el año con dos o
cuatro dígitos.
Tipos de datos de texto
Char - guarda una cadena de longitud fija. La cadena podrá contener desde 0 a 255 caracteres.
Varchar - guarda una cadena de longitud variable. La cadena podrá contener desde 0 a 255 caracteres.
Blob - es un objeto binario que puede tratar una cantidad de datos variables. Los cuatro tipos BLOB son
TINYBLOB, BLOB, MEDIUMBLOB, y LONGBLOB los cuales difieren sólo en la longitud máxima de los
valores que pueden tratar.
Text - son cadenas de caracteres no binarias. Los cuatro tipos son:
TinyText: admite un máximo de 255 caractéres,
Text: admite 65.535 caractéres,
MediumText: permite introducir textos de hasta 16.777.215 caracteres,
LongText: nos ofrece la posibilidad de incluir un máximo de 4.294.967.295 caracteres.
Estos campos no necesitan de especificaciones de longitud a la hora de ser declarados.
Enum - sirve para determinar los valores que puede tener un campo de una tabla, es decir, que un campo solamente pueda contener valores de una lista definida.
Se puede definir la lista de hasta 65535 valores distintos.
Su sintaxis es: ENUM('valor 1', 'valor 2', 'valor 3',...,'valor n')