MySQL - INT: Una Guida per Principianti

Ciao, appassionati di database! Oggi esploreremo il mondo di MySQL e una delle sue fondamentali tipologie di dati: INT. Non preoccuparti se sei nuovo alla programmazione - ti guiderò in questo viaggio passo per passo, proprio come ho fatto per centinaia di studenti negli anni. Allora, mettiamo le mani al lavoro e iniziamo!

MySQL - INT

Il Tipo di Dato INT in MySQL

Il tipo di dato INT in MySQL è come il solido e affidabile lavoro di un cavallo da tiro nella famiglia dei tipi di dati numerici. Viene utilizzato per memorizzare numeri interi (senza decimali). Pensa a esso come una scatola che può contenere numeri da -2.147.483.648 a 2.147.483.647. Questo è un sacco di numeri!

Creiamo una tabella semplice per vedere INT in azione:

CREATE TABLE my_first_table (
id INT,
age INT,
score INT
);

In questo esempio, abbiamo creato una tabella chiamata my_first_table con tre colonne: id, age, e score. Tutte queste colonne utilizzano il tipo di dato INT.

Ora, aggiungiamo alcuni dati:

INSERT INTO my_first_table (id, age, score) VALUES (1, 25, 95);
INSERT INTO my_first_table (id, age, score) VALUES (2, 30, 88);
INSERT INTO my_first_table (id, age, score) VALUES (3, 22, 100);

Qui, stiamo aggiungendo tre righe di dati alla nostra tabella. Ogni dichiarazione INSERT aggiunge una nuova persona con il loro id, età e punteggio.

Incremento Automatico con INT in MySQL

Una delle caratteristiche interessanti di INT è che può incrementare automaticamente. Questo è molto utile quando si vuole generare identificatori unici per ogni riga della tua tabella. Vediamo come funziona:

CREATE TABLE auto_increment_example (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50)
);

INSERT INTO auto_increment_example (name) VALUES ('Alice');
INSERT INTO auto_increment_example (name) VALUES ('Bob');
INSERT INTO auto_increment_example (name) VALUES ('Charlie');

In questo esempio, la colonna id assegnerà automaticamente 1, 2 e 3 a Alice, Bob e Charlie rispettivamente. È come avere un assistente utile che numeri le tue voci per te!

INT in MySQL Senza Segno

A volte, hai bisogno solo di numeri positivi. Ecco dove entra in gioco l'opzione UNSIGNED. Effettivamente raddoppia il valore massimo che un INT può contenere, da 0 a 4.294.967.295.

CREATE TABLE positive_numbers (
id INT UNSIGNED,
quantity INT UNSIGNED
);

INSERT INTO positive_numbers (id, quantity) VALUES (1, 100);
INSERT INTO positive_numbers (id, quantity) VALUES (2, 4294967295);

Questa tabella accetterà solo numeri positivi, che è perfetto per cose come quantità o età.

INT in MySQL con Attributo di Larghezza di Visualizzazione

L'attributo di larghezza di visualizzazione non influisce sull'intervallo di valori che un INT può memorizzare, ma può rendere i tuoi dati più gradevoli quando vengono visualizzati. Ecco come funziona:

CREATE TABLE display_width_example (
id INT(4),
code INT(6) ZEROFILL
);

INSERT INTO display_width_example (id, code) VALUES (1, 123);
INSERT INTO display_width_example (id, code) VALUES (1000, 456789);

Quando recuperi questi dati, code verrà visualizzato come 000123 e 456789 rispettivamente. È come aggiungere zeri a sinistra per rendere tutti i numeri della stessa larghezza.

INT in MySQL con Attributo ZEROFILL

ZEROFILL è come il miglior amico della larghezza di visualizzazione. Aggiunge automaticamente zeri ai tuoi numeri per raggiungere la larghezza specificata. Vediamo come funziona:

CREATE TABLE zerofill_example (
id INT(5) ZEROFILL
);

INSERT INTO zerofill_example (id) VALUES (1);
INSERT INTO zerofill_example (id) VALUES (100);
INSERT INTO zerofill_example (id) VALUES (10000);

Quando recuperi questi dati, vedrai 00001, 00100 e 10000. È ottimo per creare codici o ID con un aspetto uniforme.

Tipo di Dato INT Utilizzando un Programma Client

Ora, mettiamo tutte queste conoscenze in pratica utilizzando un programma client. Userò il client della riga di comando di MySQL per questo esempio, ma i principi si applicano a qualsiasi client MySQL.

-- Connettiti a MySQL
mysql -u your_username -p

-- Crea un database
CREATE DATABASE int_examples;

-- Usa il database
USE int_examples;

-- Crea una tabella utilizzando vari tipi di INT
CREATE TABLE int_showcase (
id INT AUTO_INCREMENT PRIMARY KEY,
regular_int INT,
unsigned_int INT UNSIGNED,
display_width_int INT(4),
zerofill_int INT(6) ZEROFILL
);

-- Inserisci alcuni dati
INSERT INTO int_showcase (regular_int, unsigned_int, display_width_int, zerofill_int)
VALUES (-1000, 1000, 123, 123);

INSERT INTO int_showcase (regular_int, unsigned_int, display_width_int, zerofill_int)
VALUES (2000000, 3000000, 45678, 45678);

-- Recupera i dati
SELECT * FROM int_showcase;

Quando esegui questo codice, vedrai come ogni tipo di INT si comporta diversamente. Il regular_int può contenere valori negativi, l'unsigned_int solo positivi, il display_width_int ha un aspetto normale e l'zerofill_int aggiunge quegli zeri a sinistra.

Ecco una tabella che riassume le varianti di INT che abbiamo coperto:

Tipo di INT Intervallo Esempio di Utilizzo
INT -2.147.483.648 a 2.147.483.647 Archiviazione generica di interi
INT UNSIGNED 0 a 4.294.967.295 Numeri interi positivi solo
INT AUTO_INCREMENT Stesso di INT, ma incrementa automaticamente Chiavi primarie, identificatori unici
INT(N) Stesso di INT, ma influisce sulla larghezza di visualizzazione Formattazione dell'output
INT(N) ZEROFILL Stesso di INT, aggiunge zeri Creazione di codici o ID con larghezza uniforme

Eccoci, ragazzi! Abbiamo viaggiato attraverso il mondo degli INT di MySQL, dai fondamentali ai trucchetti intelligenti. Ricorda, come ogni nuova abilità, padroneggiare MySQL richiede pratica. Quindi non aver paura di sperimentare con questi concetti. Chi lo sa? Potresti diventare l'esperto di INT nel tuo cerchio di programmatori! Buona query!

Credits: Image by storyset