Listado completo de tutoriales

15 - Valores numéricos sin signo (unsigned)


Ver video

Hemos visto algunos atributos extra para los campos.

Los campos de tipo entero pueden tener el atributo "auto_increment", que incrementa automáticamente el valor del campo en 1.

Los campos de cualquier tipo aceptan el atributo "null" y "not null" con lo cual permiten o no valores nulos.

Otro atributo que permiten los campos de tipo numérico es "unsigned".

El atributo "unsigned" (sin signo) permite sólo valores positivos.

Si necesitamos almacenar edades, por ejemplo, nunca guardaremos valores negativos, entonces sería adecuado definir un campo "edad" de tipo entero sin signo:

 edad integer unsigned;

En los tipos enteros, "unsigned" duplica el rango, es decir, el tipo "integer" permite valores de -2000000000 a 2000000000 aprox., si se define "integer unsigned" el rango va de 0 a 4000000000 aprox.

Tipos de datos float

Los tipos de coma flotante (float por ejemplo) también aceptan el atributo "unsigned" en las versiones previas de MySQL, pero a partir de la versión 8 se desaconseja su uso y en futuras versiones se va a ignorar el modificador unsigned.

Si agregamos el modificador a un tipo float el valor del límite superior del rango se mantiene.

Luego veremos que hay otro métodos para restringir el ingreso de valores positivos a un campo de tipo float que no se agregar el modificador unsigned.

Servidor de MySQL instalado en forma local.

Desde el programa "Workbench" ejecutemos estos comandos SQL:

drop table if exists libros;

create table libros(
  codigo integer unsigned auto_increment,
  titulo varchar(20) not null,
  autor varchar(30),
  editorial varchar(15),
  precio float unsigned,
  cantidad integer unsigned,
  primary key (codigo)
 );

describe libros;

Que nos generan una salida similar a esta:

MySQL unsigned

Retornar