Qué tal amigos?:
Esta vez, como complemento a la entrada anterior, les voy a escribir un poco sobre los diferentes tipos de datos que acepta MySql.
Dependiendo de la naturaleza de los datos que vayamos a guardar cada columna puede ser y será de diferente tipo, veamos cuales podemos utilizar con MySql.
Texto
Los tipos texto o también llamados cadena de caracteres que pueden formar palabras o frases MySql los puede manejar en los siguientes sub tipos:
- CHAR nos permite definir cadenas de longitud fija y el tamaño puede ser de 0 a 255 caracteres. Un ejemplo de la definición de este sub tipo de campos puede ser la siguiente CHAR(50) donde 50 es la máxima longitud del campo. Si los caracteres contenidos en este campo es menor a 50 el campo seguirá teniendo una longitud fija de 50. Ejemplo, si el campo contiene Armando Estrada Bucio el campo seguirá teniendo la longitud fija de 50, note que el número de caracteres ocupado es de solo 21.
- VARCHAR se define igual que el sub tipo char pero a diferencia del sub tipo char, los campos varchar tienen una longitud variable, veamos el mismo ejemplo que el anterior VARCHAR(50) e imaginemos que también contiene lo mismo que el campo anterior, en este caso el espacio que ocupa este campo es de solo 21 caracteres y no de 50.
- BLOB aunque propiamente no es un campo de tipo texto esta íntimamente relacionado con el campo TEXT, el nombre BLOB significa binary large object, este tipo de campos puede utilizarse para guardar información binaria como el contenido de un archivo JPG, un archivo comprimido del tipo ZIP y desde luego, también podemos guardar texto cuya longitud exceda los 255 caracteres que nos limitan los dos sub tipos anteriores. Las consultas a este tipo de campos diferencian entre mayúsculas y minúsculas.
- TEXT exactamente igual que BLOB solo que este sub tipo no diferencia entre mayúsculas y minúsculas.
- ENUM este sub tipo de campo es algo especial, cuando definimos el campo también se deben especificar los posibles valores que contendrá, posteriormente en ese campo solo podremos insertar alguno de los valores definidos.
- SET es prácticamente igual que el sub tipo enum solo se diferencian porque los sub tipo SET pueden contener varios de los valores que definimos mientras que ENUM solo puede contener uno solo.
Numéricos
MySql nos proporciona diferentes sub tipos para que podamos almacenar números en los campos de las tablas.
Enteros
- TINYINT el más pequeño de los enteros cuyo rango va de -128 a 127 con signo y de 0 a 255 sin signo, ocupa un solo byte.
- SMALLINT va de -32768 a 32767 con signo o de 0 a 65535 sin signo, ocupa dos bytes.
- MEDIUMINT con signo desde -8388608 a 8388607 y de 0 a 16777215 sin signo, ocupa 3 bytes.
- INTEGER puede ir de -2147483648 hasta 2147483647 con signo y de 0 a 4294967295 sin signo, utiliza 4 bytes.
- BIGINT este es el mayor de los sub tipos enteros, ocupa 8 bytes, con signo puede contener de-9223372036854775808 hasta 9223372036854775807, mientras que sin signo puede ir de 0 hasta 18446744073709551615.
Lógicos o Boolean
MySql permite establecer diferentes pseudónimos para cada tipo de datos. Ya que un tipo booleano es el que permite diferenciar entre CIERTO o FALSO, con un entero de un dígito sería suficiente. El sub tipo booleano es un pseudónimo para TINYINT(1), de igual forma existe un pseudónimo llamado BIT para poder trabajar con bits.
Coma flotante
Este tipo de campos contienen una parte entera y una parte decimal y hay tres sub tipos básicos.
- FLOAT de precisión simple, permite almacenar valores que van desde -3,402823466E+38 y -1,175494351E+38 así como entre 1,175494351E-38 y 3,402823455E+38 incluido el cero.
- DOUBLE de precisión doble almacena valores comprendidos entre -1,7976931348623157E+308 y -2,2250738585072014E-308 y 2,2250738585072014E-308 y 1,7976931348623157E+308 incluido el cero.
- DECIMAL El rango de valores que puede almacenar es idéntico al doublé solo que en este caso ocupa más espacio.
Estos tipos de campo se especifican así: DOUBLE(6,2) o DECIMAL(6,2).
Fechas y horas
MySql permite utilizar los siguientes sub tipos para almacenar valores que se relacionan con el tiempo, como fechas y horas.
- DATE nos permite almacenar fechas en el formato AAAA-MM-DD.
- TIME para almacenar horas en el formato hh:mm:ss
- DATETIME es una combinación de las dos anteriores en el formato AAAA-MM-DD hh:mm:ss .
- YEAR para almacenar un año en dos o cuatro dígitos dependiendo del modificador.
- TIMESTAMP este tipo de datos cambia su valor cuando se inserta el registro o cuando cambiamos su contenido, esto nos permite saber cuando se creó un registro o cuando fue modificado.
Como resumen podemos ver las equivalencias entre los tipos de campos DBFs y MySql:
CHAR es a VARCHAR() y CHAR()
LOGICO es a BIT
DATE es a DATE
MEMO es aTEXT
NUMERIC es a DECIMAL() y DOUBLE()
Amigos, ahora a ustedes les corresponde investigar más ejemplos para determinar con certeza el tipo de campo a utilizar al momento de definir sus tablas.
Hasta la próxima.
0 comentarios:
Publicar un comentario en la entrada