TIPOS DE DATOS EN MySQL

MySQL

Como bien todos saben MySQL es un motor de base de datos, valga la redundancia, que permite gestionar archivos llamados de bases de datos.
Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza múltiples tablas para almacenar y organizar la información.

Ahora bien, ya que MySQL es un motor de bases de datos, para la realización de los campos que van en las tablas hay que tener en cuenta que tipos de datos se usaran para cuando se vaya a realizar los registros, ya que seria irrelevante hacer un campo llamado NOMBRE con tipo de dato INT, es ilógico, y por esta razón he hecho este blog, para mostraros los tipos de datos en MySQL y que tipo de valor lleva.

1. Tipos numéricos: 
Existen tipos de datos numéricos, que se pueden dividir en dos grandes grupos, los flotantes o no enteros (los que usan decimales) y los enteros. 

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, es decir, hay que tener en cuenta las comillas ("").


2. Tipos fecha: 
A la hora de almacenar fechas, hay que tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no. Simplemente comprueba que el mes esta comprendido entre 0 y 12 y que el día esta comprendido entre 0 y 31. 

Date: tipo fecha, almacena una fecha. El rango de valores va desde el 1 de enero del 1001 al 31 de diciembre de 9999. El formato de almacenamiento es de año-mes-dia 

DateTime: Combinación de fecha y hora. El rango de valores 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. El formato de almacenamiento es de año-mes-dia horas:minutos:segundos 

TimeStamp: Combinación de 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 del campo: 

Tamaño                                                                            Formato
14                                                     AñoMesDiaHoraMinutoSegundo (aaaammddhhmmss)
12                                                     AñoMesDiaHoraMinutoSegundo (aammddhhmmss)
8                                                                           AñoMesDia (aaaammdd)
6                                                                             AñoMesDia (aammdd)
4                                                                                  AñoMes (aamm)
2                                                                                          Año (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. El formato de almacenamiento es de 'HH:MM:SS' 

Year: almacena un año. El rango de valores permitidos 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. 

3. Tipos de cadena: 
NOTA: Donde hay un (n) quiere decir el tamaño de caracteres a almacenar.

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. 


EJEMPLO DE UNA BASE DE DATOS SENCILLA
Para crear una base de datos, el código a realizar es: CREATE DATABASE nombre de la base de datos. EJ: CREATE DATABASE ejemplo.

Para crear una tabla, hay que seleccionar la base de datos, y luego ir a SQL, y realizar la tabla dependiendo el caso, CREATE TABLE nombre tabla (aqui en los parentesis van los campos con respectivos tipos de datos y valores). Ejemplo:

CREATE TABLE persona (Idpersona int(24), nombre varchar(25), apellido varchar(45), FechaNacimiento date, E_mail varchar(35));

Aquí estaría yo creando una tabla llamada persona en donde el primer campo es Idpersona y aquí solo se podrá ingresar números enteros con un máximo de caracteres de 24. El segundo y tercer campo es nombre y apellido, ya que es una varchar, permite ingresar números y letras, y dependiendo el valor colocado entre paréntesis así mismo permitirá ingresar como máximo la cantidad de caracteres por ejemplo nombre los máximos caracteres que aceptan son 25.

El cuarto campo es FechaNacimiento cuyo tipo de dato es date. NOTA: el tipo de dato DATE no usa valores por lo tanto no van paréntesis.

El quinto campo es E_mail cuyo tipo de dato es varchar, y como dije anteriormente, ya que los varchar permiten el ingreso de números y letras, este tipo de dato puede ser uno perfecto para campos como este.

Para realizar los registros en los campos de las tablas, ve a SQL y se realiza el siguiente codigo:
INSERT INTO nombre de la tabla (´nombre de los campos sin los tipos de datos´) values ([value-1]);

Ejemplo:
INSERT INTO persona (´Idpersona´,´nombre´,´apellido´,´FechaNacimiento´,´E_mail´) VALUES (1,"Johan","Fuentes","1998/01/12","jsfuentes7@misena.edu.co");

Como pudieron observar cada orden de cada valor corresponde al orden en como están los campos en los paréntesis.
Además cabe resaltar que cada vez que si el valor es un número no se pone en comillas, pero si es nombre y número a la vez, va entre comillas.
NOTA: El valor del tipo de dato DATE siempre irá entre comillas y siempre se comienza con el año, luego el mes y luego el día. Se pueden ingresar de la manera "1998-01-12" o "1998/01/12".

Comentarios

Entradas populares