MySQL – Datos numéricos enteros

Recientemente asistimos con emoción a la creación de la primera tabla en MySQL. Aprendimos a utilizar el tipo de datos VARCHAR para campos con texto de longitud variable y vimos el comando para mostrar la estructura de la tabla recién creada.

Tan sólo con el tipo VARCHAR podríamos modelar buena parte de nuestros datos. Los campos de texto son, indudablemente, una abrumadora mayoría. Incluso podríamos llegar a representar datos numéricos empleando simplemente texto. ¿Qué me impediría, por ejemplo, almacenar un número de teléfono, o el número de cartuchos que tengo en stock de un determinado modelo de impresora, en un campo de tipo VARCHAR?

Es cierto que un número de teléfono podría registrase en un VARCHAR sin mayor problema, pero no así el stock de consumibles. Si entrego un cartucho, ¿cómo decremento en una unidad esa cantidad si estoy en un campo que es de tipo texto?

Para almacenar datos susceptibles a que se realicen sobre ellos operaciones matemáticas necesitamos emplear tipos numéricos.

Vamos a presentar hoy el tipo INTEGER, con el que almacenaremos valores numéricos enteros.

El tipo INTEGER, que puede resumirse como INT, ocupa un espacio de 4 bytes (32 bits), por lo que nos permite almacenar enteros positivos y negativos comprendidos entre -2^{31} hasta 2^{31}-1. Es decir, en el rango comprendido entre

-2147483648 … +2147483647

Una buena amplitud, desde luego, tratándose de enteros, aunque más adelante veremos que puede aumentarse aún más.

Vamos a crear, a título de ejemplo, una tabla para almacenar el stock disponible de consumibles de nuestros dispositivos de impresión.

mysql> CREATE TABLE consumibles
    -> (
    -> referencia VARCHAR(15),
    -> impresora VARCHAR(20),
    -> stock INT
    -> );
Query OK, 0 rows affected (0.36 sec)

En referencia almacenaremos el código identificativo del tipo de cartucho o tóner; en impresora, el modelo de la máquina al que se asocia y en stock el número cartuchos que tenemos en almacén.

Veamos la estructura de la tabla recién creada:

mysql> DESC consumibles;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| referencia | varchar(15) | YES  |     | NULL    |       |
| impresora  | varchar(20) | YES  |     | NULL    |       |
| stock      | int(11)     | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)

El tipo INTEGER es un tipo estándar de SQL para representar números enteros. MySQL ha extendido el número de opciones a otros cuantos más de los que hablaremos más adelante, diferenciándose en el número de bytes que ocupan. Veremos también que podemos incluso especificar que los enteros sean rigurosamente sin signo (es decir, números no negativos). Hasta entonces, apuesta por la compatibilidad plena: INTEGER (o INT) es el tipo entero por excelencia.

Javier Montero Gabarró


http://elclubdelautodidacta.es/wp/2012/05/mysql-datos-numericos-enteros/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies