Tipos de Datos en SQL

6 minuto(s)

Cuando comence a programar en determinado lenguaje de programación sin usar base de datos, para mi era un logro el mostrar mi primer mensaje en la pantalla, posteriormente aprendí que podiamos usar bases de datos. Para mi lo más fácil era usar tipos de datos sencillos como CHARS o VARCHARS en mis proyectos personales, pero cuando comence a crear proyectos para clientes y empresariales, opte por conocer los tipos de datos con los cuales podemos trabajar en el lenguaje de consulta SQL, de esta manera logré evitar algunos errores en el trabajo con bases de datos relacionales que usan el lenguaje de consulta SQL. En este Post te compartiré los Tipos de Datos en SQL, vamos con ello.

Antes de continuar, te invito a scuchar el Podcast: “Porque Algunos Desarrolladores no Terminan El Proyecto de Un Cliente” (En Spotify, Sound Cloud y Apple Podcasts)y “ChatGPT ¿ Dejará sin empleo a los Desarrolladores ?” (Anchor Podcast)

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Tipos de Datos en SQL. 

Tipos de Datos en SQL

En una base de datos el tipo de datos de una columna define qué valor puede contener la columna: integer, carácter, tiempo, fecha y hora, binario, etc. Cada columna de una tabla de base de datos debe tener un nombre y un tipo de datos. Un desarrollador que realiza consultas con SQL debe decidir qué tipo de datos se almacenarán dentro de cada columna al crear una tabla. Los tipos de datos es una guía para que SQL comprenda qué tipo de datos se espera dentro de cada columna y también identifica cómo interactuará SQL con los datos almacenados.

Nota: Es importante recordar que los tipos de datos pueden tener diferentes nombres en diferentes bases de datos (MySQL, PostgreSQL, Oracle, etc.), e incluso si el nombre es el mismo, el tamaño y otros detalles pueden ser diferentes. Revisa siempre la documentación de la base de datos que estés usando.

A continuación te compartiré varias tablas con los tipos de datos estándar que la mayoria de bases de datos soportan en consultas SQL y una descripción de cada uno de ellos.

Tipos de Datos String

Los tipos de datos string o cadena, en la mayoría de casos son textos o similares, a continuación los tipo de datos de tipos String en SQL:

Tipo de dato Descripción
CHAR Una cadena de longitud FIJA (puede contener letras, números y caracteres especiales). El parámetro de tamaño especifica la longitud de la columna en caracteres; puede ser de 0 a 255. El valor predeterminado es 1
VARCHAR Una cadena de longitud VARIABLE (puede contener letras, números y caracteres especiales). El parámetro de tamaño especifica la longitud máxima de la cadena en caracteres; puede ser de 0 a 65535
BINARY Igual a CHAR, pero almacena cadenas de bytes binarios. El parámetro de tamaño especifica la longitud de la columna en bytes. El valor predeterminado es 1
VARBINARY Igual a VARCHAR, pero almacena cadenas de bytes binarios. El parámetro de tamaño especifica la longitud máxima de la columna en bytes.
TINYLOB Para BLOBs (Binary Large Objects). Longitud máxima: 255 bytes
TINYTEXT Contiene una cadena con una longitud máxima de 255 caracteres
TEXT Contiene una cadena con una longitud máxima de 65.535 bytes
BLOB Para BLOBs (Binary Large Objects). Almacena hasta 65.535 bytes de datos
MEDIUMTEXT Contiene una cadena con una longitud máxima de 16,777,215 caracteres
MEDIUMBLOB Para BLOBs (Binary Large Objects). Almacena hasta 16,777,215 bytes de datos
LONGTEXT Contiene una cadena con una longitud máxima de 4,294,967,295 caracteres
LONBGBLOB Para BLOBs (Binary Large Objects). Almacena hasta 4,294,967,295 bytes de datos
ENUM(val1, val2, val3, …) Un objeto de cadena que solo puede tener un valor, elegido de una lista de valores posibles. Puede listar hasta 65535 valores en una lista ENUM. Si se inserta un valor que no está en la lista, se insertará un valor en blanco. Los valores se ordenan en el orden en que son ingresados
SET(val1, val2, val3, …) Un objeto de cadena que puede tener 0 o más valores, elegidos de una lista de valores posibles. Puede enumerar hasta 64 valores en una lista SET

Tipos de Datos Numéricos

Los tipos de datos numericos, en la mayoría de casos son números o similares, a continuación los tipo de datos de tipos Númericos en SQL:

Tipos de dato Descripción
BIT Un tipo de valor de bit. El número de bits por valor se especifica en tamaño. El parámetro de tamaño puede contener un valor de 1 a 64. El valor predeterminado para el tamaño es 1.
TINYINT Un entero muy pequeño. El rango con signo es de -128 a 127. El rango sin signo es de 0 a 255. El parámetro de tamaño especifica el ancho máximo de visualización (que es 255)
BOOL El cero se considera falso, los valores distintos de cero se consideran verdaderos.
BOOLEAN Igual a BOOL
SMALLINT Un pequeño entero. El rango con signo es de -32768 a 32767. El rango sin signo es de 0 a 65535. El parámetro de tamaño especifica el ancho máximo de visualización (que es 255)
MEDIUMINT Un entero medio. El rango con signo es de -8388608 a 8388607. El rango sin signo es de 0 a 16777215. El parámetro de tamaño especifica el ancho máximo de visualización (que es 255)
INT Un entero medio. El rango con signo es de -2147483648 a 2147483647. El rango sin signo es de 0 a 4294967295. El parámetro de tamaño especifica el ancho máximo de visualización (que es 255)
INTEGER Igual a INT
BIGINT Un entero grande. El rango con signo es de -9223372036854775808 a 9223372036854775807. El rango sin signo es de 0 a 18446744073709551615. El parámetro de tamaño especifica el ancho máximo de visualización (que es 255)
FLOAT(size, d) Un número de punto flotante. El número total de dígitos se especifica en tamaño. El número de dígitos después del punto decimal se especifica en el parámetro d. Esta sintaxis está obsoleta en MySQL 8.0.17 y se eliminará en futuras versiones de MySQL.
FLOAT(p) Un número de punto flotante. MySQL usa el valor p para determinar si usar FLOAT o DOUBLE para el tipo de datos resultante. Si p es de 0 a 24, el tipo de datos se convierte en FLOAT(). Si p es de 25 a 53, el tipo de datos se convierte en DOUBLE()
DOUBLE(size, d) Un número de punto flotante de tamaño normal. El número total de dígitos se especifica en tamaño. El número de dígitos después del punto decimal se especifica en el parámetro d
DOUBLE PRECISION(size, d) Donde size es el total de dígitos y d es el número de dígitos después del decimal. Este es un sinónimo del tipo de datos DOUBLE.
DECIMAL(size, d ) Un número exacto de punto fijo. El número total de dígitos se especifica en tamaño. El número de dígitos después del punto decimal se especifica en el parámetro d. El número máximo para el tamaño es 65. El número máximo para d es 30. El valor predeterminado para el tamaño es 10. El valor predeterminado para d es 0.
DEC Igual a DECIMAL(size, d) 

Nota: Todos los tipos de datos numéricos pueden tener una opción adicional: UNSIGNED o ZEROFILL. Si agregas la opción UNSIGNED, MySQL no permite valores negativos para la columna. Si agregas la opción ZEROFILL, MySQL también agrega automáticamente el atributo UNSIGNED a la columna. 

Tipos de Datos de Fecha y Hora

Los tipos de datos numericos, en la mayoría de casos son números o similares, a continuación los tipo de datos de tipos Númericos en SQL:

Tipo de Dato Descripción
DATE Una FECHA. Formato: AAAA-MM-DD. El rango admitido es de ‘1000-01-01’ a ‘9999-12-31’ 
DATETIME Una combinación de fecha y hora. Formato: AAAA-MM-DD hh:mm:ss. El rango admitido es de ‘1000-01-01 00:00:00’ a ‘9999-12-31 23:59:59’. Agregando DEFAULT y ON UPDATE en la definición de columna podrás obtener la inicialización automática y la actualización a la fecha y hora actual
TIME Un tiempo. Formato: hh:mm:ss. El rango admitido es de ‘-838:59:59’ a ‘838:59:59’
YEAR Un año en formato de cuatro dígitos. Valores permitidos en formato de cuatro dígitos: 1901 a 2155 y 0000. MySQL 8.0 no admite el año en formato de dos dígitos.

Estos son los tipos de datos que la mayoría de bases de datos pueden brinda en consultas con SQL. Nuevamente es importante recordar que cada base de datos tiene sus propios tipos de datos.

Conclusión

En este post hemos aprendido los tipos de datos que existen en SQL o los tipos de datos estándar que la mayoría de bases de datos permiten trabajar en consultas SQL. Conocer estos tipos de datos te hará un mejor profesional, evitarás errores en tus consultas, eso si recuerda aprender también cada tipo de datos que tienen las bases de datos.

Nota (s)

  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo. 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.