Gamme di numeri mysql bigint

Gamme di numeri mysql bigint
Questo articolo si concentra sul tipo di dati MySQL Bigint e esamina come possiamo usarlo per archiviare i valori interi. Impareremo anche la sua gamma, dimensioni di archiviazione e vari attributi, tra cui il riempimento firmato, non firmato e zero.

Mysql bigint

Il bigint è un byte b o 64 bit valore intero ed è molto utile per memorizzare enormi valori interi.

Il mysql bigint, come qualsiasi altro tipo di dati interi MySQL, può essere firmato o non firmato. Un tipo di dati firmato indica che la colonna può archiviare valori interi sia positivi che negativi. Questo è il tipo predefinito per la maggior parte dei tipi di interi in MySQL. Quindi, se non esplicitamente specificato, qualsiasi colonna di tipo intero può archiviare numeri interi positivi e negativi.

D'altra parte, il tipo di dati non firmato indica che la colonna può solo archiviare valori interi positivi.

L'intervallo per il tipo MySQL Bigint firmato è compreso tra -9223372036854775808 e 922337203685475807

Per il tipo di bigint non firmato, il valore varia da 0 a 184467440737095516155.

L'altro attributo del tipo Bigint è lo zerofill. Con questo attributo specificato su una colonna, la colonna viene impostata automaticamente su Unsigned.

L'attributo ZeroFill riempie anche gli spazi con zeri.

Esempi

Diamo un'occhiata a pochi esempi per illustrare come usare il tipo Bigint.

Crea database se non esiste interi;
Usare numeri interi;

Successivamente, creiamo una tabella e popolalo con varie colonne Bigint, come mostrato nella query seguente:

Crea esempi di tabelle (x bigint non null auto_increment chiave primaria, y bigint senza segno, z bigint zerofill);

Esempio 1
Proviamo prima ad aggiungere tutti i valori positivi alla tabella:

Inserisci esempi (X, Y, Z) valori (1,2,3);

Nella query di esempio sopra, i valori sono accettabili perché sono nella gamma di tipi di bigint firmati, non firmati e zerofill.

Seleziona * dagli esempi;
+---+------+----------------------+
| x | y | z |
+---+------+----------------------+
| 1 | 2 | 00000000000000000003 |
+---+------+----------------------+
1 fila in impostato (0.01 sec)

Esempio 2
Nel caso successivo, proviamo ad aggiungere tutti i valori negativi. Una query di esempio è di seguito:

Inserisci in esempi (x, y, z) valori (-1, -2, -3);
Errore 1264 (22003): valore fuori portata per la colonna 'y' alla riga 1

In questo caso, la query fallisce poiché la colonna Y è non firmata. Quindi, l'assegnazione di un valore negativo alla colonna è fuori dall'intervallo di colonne.

Esempio 3
Possiamo osservare un caso simile a quello sopra per la terza colonna. L'attributo zerofill rende automaticamente la colonna non firmata, rendendo l'aggiunta di un valore negativo è fuori portata. Un esempio è come:

Inserisci in esempi (x, y, z) valori (-1,2, -3);
Errore 1264 (22003): valore fuori portata per la colonna 'Z' alla riga 1

Esempio 4
Proviamo ora ad aggiungere i valori massimi per ogni tipo. Una domanda di esempio è:

Inserisci in esempi (X, Y, Z) valori (-9223372036854775808, 9223372036854775808, 9223372036854775808);

Nell'esempio sopra, poiché tutti i valori sono nell'intervallo, la query esegue correttamente.

Considera la query di seguito:

Inserisci in esempi (X, Y, Z) valori (9223372036854775807, 9223372036854775808, 92233372036854775808);

Noterai che tutti i valori sono sui valori massimi. Poiché la colonna X è impostata su Auto_InCrement, aggiungendo un valore ad essa fallirà.

Inserisci in esempi (Y, Z) valori (9223372036854775808, 92233372036854775808);
Errore 1062 (23000): voce duplicata '9223372036854775807 "per gli esempi chiave".PRIMARIO'

Tuttavia, se la modalità rigorosa è disabilitata in MySQL, è possibile inserire valori fuori portata.

Seleziona * dagli esempi;

Conclusione

In questo tutorial, abbiamo discusso del tipo mysql binint e delle gamme per i suoi vari attributi.