Tipo de datos INT de MySQL

author
4 minutes, 42 seconds Read

Resumen: en este tutorial, aprenderá sobre el tipo de datos MySQL INTo entero y cómo utilizarlo en el diseño de su tabla de base de datos. Además, le mostraremos cómo utilizar los atributos de ancho de visualización y ZEROFILL de una columna de tipo entero.

Introducción al tipo INT de MySQL

En MySQL, INT representa el número entero que es un número entero. Un entero puede ser escrito sin un componente fraccionario, por ejemplo, 1, 100, 4, -10, y no puede ser 1.2, 5/3, etc. Un entero puede ser cero, positivo y negativo.

MySQL soporta todos los tipos enteros estándar de SQL INTEGER o INT y SMALLINT. Además, MySQL proporciona TINYINT MEDIUMINT, y BIGINT como extensiones del estándar SQL.

El tipo de datos INTMySQL puede ser con y sin signo. La siguiente tabla ilustra las características de cada tipo de entero incluyendo el almacenamiento en bytes, el valor mínimo y el valor máximo.

Tipo Almacenamiento Valor mínimo Valor máximo
(Bytes) (Con/sin signo) (Con/sin signo)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615

Ejemplos del tipo de datos INT de MySQL

Veamos algunos ejemplos de uso del tipo de datos entero.

A) Uso de MySQL INT para un ejemplo de columna

Debido a que el tipo integer representa números exactos, se suele utilizar como clave primaria de una tabla. Además, la columna INT puede tener un atributo AUTO_INCREMENT .

Cuando se inserta un valor NULL o 0 en la columna INT AUTO_INCREMENT, el valor de la columna se establece en el siguiente valor de secuencia. Observe que el valor de la secuencia comienza con 1.

Cuando usted inserta un valor, que no es NULL o cero, en la columna AUTO_INCREMENT, la columna acepta el valor. Además, la secuencia se restablece al siguiente valor del valor insertado.

Primero, cree una nueva tabla llamada items con una columna de números enteros como clave primaria:

Code language: SQL (Structured Query Language) (sql)

Puede utilizar tanto INT como INTEGER en la sentencia CREATE TABLE anterior porque son intercambiables. Cada vez que se inserta una nueva fila en la tabla items, el valor de la columna item_id se incrementa en 1.

A continuación, la siguiente sentencia INSERT inserta tres filas en la tabla items.

Code language: SQL (Structured Query Language) (sql)

A continuación, consulte los datos de la tabla items utilizando la siguiente sentencia SELECT:

Code language: SQL (Structured Query Language) (sql)

Después, inserte una nueva fila cuyo valor de la columna item_id se especifica explícitamente.

Code language: SQL (Structured Query Language) (sql)

Como el valor actual de la columna item_id es 10, la secuencia se restablece a 11. Si se inserta una nueva fila, la columna AUTO_INCREMENT utilizará 11 como siguiente valor.

Code language: SQL (Structured Query Language) (sql)

Por último, consulte los datos de la tabla items de nuevo para ver el resultado.

Code language: SQL (Structured Query Language) (sql)

Tenga en cuenta que a partir de MySQL 5.1, la columna AUTO_INCREMENT sólo acepta valores positivos y no permite valores negativos.

B) Utilizando el ejemplo de MySQL INT UNSIGNED

Primero, cree una tabla llamada classes que tenga la columna total_member con el tipo de datos entero sin signo:

Code language: SQL (Structured Query Language) (sql)

Segundo, inserte una nueva fila en la tabla classes:

Code language: SQL (Structured Query Language) (sql)

Ha funcionado como se esperaba.

Tercer intento de insertar un valor negativo en la columna total_member:

Code language: SQL (Structured Query Language) (sql)

MySQL emitió el siguiente error:

Code language: SQL (Structured Query Language) (sql)

MySQL INT con el atributo de ancho de pantalla

MySQL proporciona una extensión que permite especificar el ancho de pantalla junto con el tipo de datos INT. El ancho de visualización se envuelve dentro de paréntesis después de la palabra clave INT por ejemplo, INT(5) especifica un INT con el ancho de visualización de cinco dígitos.

Es importante tener en cuenta que el atributo de ancho de visualización no controla los rangos de valores que la columna puede almacenar. El atributo de ancho de visualización es utilizado normalmente por las aplicaciones para formatear los valores enteros. MySQL incluye el atributo de ancho de visualización como los metadatos del conjunto de resultados devueltos.

MySQL INT con el atributo ZEROFILL

Además del atributo de ancho de visualización, MySQL proporciona un atributo no estándar ZEROFILL. En este caso, MySQL sustituye los espacios por el cero. Considere el siguiente ejemplo.

Primero, cree una tabla llamada zerofill_tests :

Code language: SQL (Structured Query Language) (sql)

Segundo, inserte una nueva fila en la tabla zerofill_tests.

Code language: SQL (Structured Query Language) (sql)

Tercero, consulte los datos de la tabla zerofill_tests .

Code language: SQL (Structured Query Language) (sql)


La columnav1tiene un ancho de visualización 2 incluyendoZEROFILL.Su valor es 1 por lo tanto, usted ve01en la salida. MySQL reemplaza el primer espacio por 0.

La columna v2 tiene una visualización con 3 incluyendo ZEROFILL. Su valor es 6 por lo tanto, se ve 00 como los ceros a la izquierda.

La columna v3 tiene la pantalla de ancho 5 con ZEROFILL, mientras que su valor es 9, por lo tanto MySQL rellena 0000 al principio del número en la salida.

Tenga en cuenta que si utiliza el atributo ZEROFILL para una columna de números enteros, MySQL añadirá automáticamente un atributo UNSIGNED a la columna.

En este tutorial, ha aprendido a utilizar el tipo de datos INT de MySQL para diseñar tablas de bases de datos.

  • ¿Ha sido útil este tutorial?
  • SíNo

Similar Posts

Deja una respuesta

Tu dirección de correo electrónico no será publicada.