Resumo: neste tutorial, você aprenderá sobre MySQL INT ou tipo de dados inteiros e como utilizá-lo no design da sua tabela de banco de dados. Além disso, mostraremos como usar a largura de exibição e os atributos ZEROFILL de uma coluna inteira.
Introduction to MySQL INT type
In MySQL, INT representa o número inteiro que é um número inteiro. Um número inteiro pode ser escrito sem um componente fracionário, por exemplo, 1, 100, 4, -10, e não pode ser 1.2, 5/3, etc. Um inteiro pode ser zero, positivo e negativo.
MySQL suporta todos os tipos de inteiros SQL padrão INTEGER ou INT e SMALLINT. Além disso, o MySQL fornece TINYINT MEDIUMINT, e BIGINT como extensões ao padrão SQL.
MySQL INT tipos de dados podem ser assinados e não assinados. A tabela a seguir ilustra as características de cada tipo inteiro incluindo armazenamento em bytes, valor mínimo e valor máximo.
| Type | Armazenamento | Valor mínimo | Valor máximo | ||
|---|---|---|---|---|---|
| (Bytes) | (Signed/Unsigned) | (Signed/Unsigned) | |||
| TINYINT | 1 | -128 | 127 | ||
| 0 | 255 | ||||
| -PEQUENO | 2 | -32768 | 32767 | ||
| 0 | 65535 | ||||
| 3 | > | -8388608 | 8388607 | ||
| > | 0 | 16777215 | |||
| INT | 4 | -2147483648 | 2147483647 | ||
| 0 | 4294967295 | ||||
| BIGINT | 8 | -9223372036854775808 | 9223372036854775807 | ||
| 0 | 18446744073709551615 |
Exemplos do tipo de dados INT do MySQL
Vejamos alguns exemplos de uso do tipo de dados inteiros.
A) Usando MySQL INT para um exemplo de coluna
Porque o tipo inteiro representa números exatos, você normalmente o usa como a chave primária de uma tabela. Além disso, a coluna INT pode ter um valor AUTO_INCREMENT atributo.
Quando você insere um valor NULL ou 0 na coluna INT AUTO_INCREMENT, o valor da coluna é definido para o próximo valor da seqüência. Note que o valor da seqüência começa com 1.
Quando você insere um valor, que não é NULL ou zero, na coluna AUTO_INCREMENT, a coluna aceita o valor. Além disso, a seqüência é redefinida para o próximo valor do valor inserido.
Primeiro, crie uma nova tabela chamada items com uma coluna inteira como chave primária:
Code language: SQL (Structured Query Language) (sql)
Pode usar ou INT ou INTEGER na instrução CREATE TABLE acima porque são intercambiáveis. Sempre que você inserir uma nova linha na tabela items, o valor da coluna item_id é aumentado em 1.
Próximo, a seguinte instrução INSERT insere três linhas na tabela items.
Code language: SQL (Structured Query Language) (sql)
Então, os dados de consulta da tabela items usando o seguinte SELECT instrução:
Code language: SQL (Structured Query Language) (sql)

Após isso, insira uma nova linha cujo valor da coluna item_id é explicitamente especificado.
Code language: SQL (Structured Query Language) (sql)
Desde que o valor atual da coluna item_id é 10, a sequência é redefinida para 11. Se você inserir uma nova linha, a coluna AUTO_INCREMENT usará 11 como o próximo valor.
Code language: SQL (Structured Query Language) (sql)
Finalmente, consulte os dados da tabela items novamente para ver o resultado.
Code language: SQL (Structured Query Language) (sql)

Nota que a partir do MySQL 5.1, a coluna AUTO_INCREMENT aceita apenas valores positivos e não permite valores negativos.
B) Usando MySQL INT UNSIGNED exemplo
Primeiro, crie uma tabela chamada classes que tenha a coluna total_member com os dados inteiros não assinados tipo:
Code language: SQL (Structured Query Language) (sql)
Segundo, insira uma nova linha na tabela classes:
Code language: SQL (Structured Query Language) (sql)
Funcionou como esperado.
Terceiro, tente inserir um valor negativo na coluna total_member:
Code language: SQL (Structured Query Language) (sql)
MySQL emitiu o seguinte erro:
Code language: SQL (Structured Query Language) (sql)
MySQL INT com o atributo de largura de exibição
MySQL fornece uma extensão que permite especificar a largura de exibição junto com o INT datatype. A largura de exibição é envolvida dentro de parênteses seguindo a palavra-chave INT e.g., INT(5) especifica um INT com a largura de exibição de cinco dígitos.
É importante notar que o atributo largura de exibição não controla os intervalos de valores que a coluna pode armazenar. O atributo de largura de exibição é normalmente utilizado pelas aplicações para formatar os valores inteiros. MySQL inclui o atributo display width como os metadados do conjunto de resultados retornados.
MySQL INT com o atributo ZEROFILL
Além do atributo display width, o MySQL fornece um atributo não-padrão ZEROFILL. Neste caso, o MySQL substitui os espaços por zero. Considere o seguinte exemplo.
Primeiro, crie uma tabela chamada zerofill_tests :
Code language: SQL (Structured Query Language) (sql)
Segundo, insira uma nova linha na zerofill_tests tabela.
Code language: SQL (Structured Query Language) (sql)
Terceiro, consulte os dados da zerofill_tests tabela.
Code language: SQL (Structured Query Language) (sql)
![]()
A colunav1tem uma largura de exibição 2 incluindoZEROFILL.O valor de Its é 1 portanto, você vê01na saída. O MySQL substitui o primeiro espaço por 0.
A coluna v2 tem um display com 3 incluindo ZEROFILL. O seu valor é 6, portanto, você vê 00 como os zeros principais.
A coluna v3 tem a largura de apresentação 5 com ZEROFILL, enquanto o seu valor é 9, portanto os blocos MySQL 0000 no início do número na saída.
Note que se utilizar ZEROFILL atributo para uma coluna inteira, o MySQL irá automaticamente adicionar um atributo UNSIGNED à coluna.
Neste tutorial, aprendeu como utilizar o MySQL INT tipo de dados para desenhar tabelas de base de dados.
- Este tutorial foi útil?
- Sim Não