MySQL INT Tipo de Dados

author
4 minutes, 30 seconds Read

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

Similar Posts

Deixe uma resposta

O seu endereço de email não será publicado.