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 colunav1
tem uma largura de exibição 2 incluindoZEROFILL.
O valor de Its é 1 portanto, você vê01
na 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