MySQL INT Data Type

author
4 minutes, 5 seconds Read

Summario: in questo tutorial, imparerai a conoscere MySQL INT o il tipo di dati interi e come usarlo nella progettazione della tua tabella di database. Inoltre, ti mostreremo come usare la larghezza di visualizzazione e gli attributi ZEROFILL di una colonna intera.

Introduzione al tipo MySQL INT

In MySQL, INT sta per l’intero che è un numero intero. Un numero intero può essere scritto senza una componente frazionaria, per esempio, 1, 100, 4, -10, e non può essere 1,2, 5/3, ecc. Un intero può essere zero, positivo e negativo.

MySQL supporta tutti i tipi di interi standard SQL INTEGER o INT e SMALLINT. Inoltre, MySQL fornisce TINYINT MEDIUMINT e BIGINT come estensioni allo standard SQL.

Il tipo di dati INT di MySQL può essere firmato e senza segno. La tabella seguente illustra le caratteristiche di ogni tipo di intero, compresa la memorizzazione in byte, il valore minimo e il valore massimo.

Type Storage Minimum Value Maximum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
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

Esempi sul tipo di dati MySQL INT

Guardiamo alcuni esempi di utilizzo del tipo di dati interi.

A) Uso di MySQL INT per un esempio di colonna

Perché il tipo intero rappresenta numeri esatti, di solito lo si usa come chiave primaria di una tabella. Inoltre, la colonna INT può avere un attributo AUTO_INCREMENT .

Quando si inserisce un valore NULL o 0 nella colonna INT AUTO_INCREMENT, il valore della colonna viene impostato al prossimo valore di sequenza. Notate che il valore di sequenza inizia con 1.

Quando inserite un valore, che non è NULL o zero, nella colonna AUTO_INCREMENT, la colonna accetta il valore. Inoltre, la sequenza viene reimpostata al valore successivo al valore inserito.

Prima di tutto, create una nuova tabella chiamata items con una colonna intera come chiave primaria:

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

Potete usare sia INT che INTEGER nella dichiarazione CREATE TABLE di cui sopra perché sono intercambiabili. Ogni volta che inserisci una nuova riga nella tabella items, il valore della colonna item_id viene aumentato di 1.

Poi, la seguente istruzione INSERT inserisce tre righe nella tabella items.

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

Poi, interroga i dati della tabella items usando la seguente istruzione SELECT:

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

Dopo di che, inserisci una nuova riga il cui valore della colonna item_id è specificato esplicitamente.

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

Siccome il valore corrente della colonna item_id è 10, la sequenza viene resettata a 11. Se inserisci una nuova riga, la colonna AUTO_INCREMENT userà 11 come prossimo valore.

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

Infine, interroga di nuovo i dati della tabella items per vedere il risultato.

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

Nota che a partire da MySQL 5.1, la colonna AUTO_INCREMENT accetta solo valori positivi e non permette valori negativi.

B) Usando MySQL INT UNSIGNED esempio

Primo, creare una tabella chiamata classes che ha la colonna total_member con il tipo di dati intero senza segno:

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

Secondo, inserire una nuova riga nella tabella classes:

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

Ha funzionato come previsto.

Terzo, tentare di inserire un valore negativo nella colonna total_member:

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

MySQL ha emesso il seguente errore:

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

MySQL INT con l’attributo display width

MySQL fornisce un’estensione che permette di specificare la larghezza di visualizzazione insieme al tipo di dato INT. La larghezza di visualizzazione è racchiusa tra parentesi dopo la parola chiave INT, ad esempio INT(5) specifica un INT con una larghezza di visualizzazione di cinque cifre.

È importante notare che l’attributo di larghezza di visualizzazione non controlla gli intervalli di valori che la colonna può memorizzare. L’attributo display width è tipicamente usato dalle applicazioni per formattare i valori interi. MySQL include l’attributo display width come metadata del set di risultati restituito.

MySQL INT con l’attributo ZEROFILL

In aggiunta all’attributo display width, MySQL fornisce un attributo non standard ZEROFILL. In questo caso, MySQL sostituisce gli spazi con lo zero. Considera il seguente esempio.

Primo, crea una tabella chiamata zerofill_tests :

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

Secondo, inserisci una nuova riga nella tabella zerofill_tests.

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

Terzo, interroga i dati dalla tabella zerofill_tests .

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


La colonnav1ha una larghezza di visualizzazione 2 che includeZEROFILL.Il suo valore è 1 quindi, vedi01nell’output. MySQL sostituisce il primo spazio con 0.

La colonna v2 ha una visualizzazione con 3 incluso ZEROFILL. Il suo valore è 6 quindi, vedete 00 come zeri iniziali.

La colonna v3 ha la larghezza di visualizzazione 5 con ZEROFILL, mentre il suo valore è 9, quindi MySQL imbottiglia 0000 all’inizio del numero nell’output.

Nota che se usi l’attributo ZEROFILL per una colonna intera, MySQL aggiungerà automaticamente un attributo UNSIGNED alla colonna.

In questo tutorial, hai imparato come usare il tipo di dati INT di MySQL per progettare tabelle di database.

  • Questo tutorial è stato utile?
  • SìNo

Similar Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.