MySQL: Come Iniziare con Server, Client e Creare un Database

Ti sei mai chiesto come funziona davvero un database? Magari hai sentito parlare di MySQL ma non hai mai avuto il coraggio di metterci le mani? Nessun problema! Oggi ti guiderò passo dopo passo per avviare il server e il client di MySQL, creare un database, le sue tabelle e persino le associazioni tra di esse. Pronto? Partiamo!

Se non hai ancora MySQL installato, il primo passo è scaricarlo e installarlo. MySQL è disponibile per Windows, macOS e Linux, e puoi trovarlo sul sito ufficiale https://dev.mysql.com/downloads/. Vediamo come installarlo su ogni sistema operativo:

  • Windows: Scarica MySQL Installer, esegui il file .exe e segui la procedura guidata, selezionando “Developer Default” per ottenere tutti gli strumenti utili.
  • macOS: Se usi Homebrew, puoi installarlo con il comando:
    brew install mysql 
  • Linux (Ubuntu/Debian): Apri il terminale ed esegui:
    sudo apt update sudo apt install mysql-server 

Durante l’installazione, ti verrà chiesto di impostare una password per l’utente root, che è l’amministratore del database. Memorizzala bene, perché servirà per accedere a MySQL!

Avviare il Server

Una volta installato, dobbiamo avviare il server MySQL per iniziare a usarlo:

  • Windows: Se hai installato MySQL tramite MySQL Installer, puoi avviarlo con MySQL Workbench o eseguendo nel terminale:
    net start mysql 
  • macOS e Linux: Apri il terminale ed esegui:
    sudo systemctl start mysql 

Vuoi che MySQL si avvii automaticamente all’accensione del computer? Puoi farlo con:

sudo systemctl enable mysql 

Per verificare che il server sia attivo, usa il comando:

mysqladmin -u root -p status 

Se MySQL sta funzionando correttamente, vedrai un messaggio che indica il tempo di attività del server.

Accedere al Client MySQL

Ora che il server è in esecuzione, possiamo accedere al client MySQL per iniziare a lavorare con il database. Apri il terminale e digita:

mysql -u root -p 

Ti verrà chiesta la password che hai impostato durante l’installazione. Se l’accesso è riuscito, vedrai un prompt di MySQL simile a questo:

Welcome to the MySQL monitor. Commands end with ; or \g. mysql> 

Ora sei pronto per creare e gestire database!

Creare un Database e le Tabelle

Un database è come un archivio che contiene più tabelle di dati. Ogni tabella è organizzata in righe (record) e colonne (campi).

Creiamo il Database

In MySQL, per creare un database basta un semplice comando:

CREATE DATABASE negozio; 

Abbiamo appena creato un database chiamato negozio. Ora dobbiamo dirgli di utilizzarlo:

USE negozio; 

Ogni comando SQL termina con un punto e virgola (;), quindi non dimenticartelo!

Creiamo le Tabelle

Ora creiamo due tabelle: una per i prodotti e una per i clienti.

CREATE TABLE prodotti ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100) NOT NULL, prezzo DECIMAL(10,2) NOT NULL, quantita INT DEFAULT 0 ); 
  • id è un numero intero che si auto-incrementa ed è la chiave primaria.
  • nome contiene il nome del prodotto (fino a 100 caratteri).
  • prezzo memorizza il prezzo con due decimali.
  • quantita rappresenta la quantità disponibile (valore predefinito: 0).
CREATE TABLE clienti ( id INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100) NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, data_registrazione TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 
  • email è unica per evitare duplicati.
  • data_registrazione memorizza automaticamente la data di registrazione.

Creare Associazioni tra Tabelle

Un cliente può fare più ordini, e ogni ordine può contenere più prodotti. Per rappresentarlo, creiamo altre due tabelle.

CREATE TABLE ordini ( id INT AUTO_INCREMENT PRIMARY KEY, cliente_id INT, data_ordine TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (cliente_id) REFERENCES clienti(id) ON DELETE CASCADE ); 
  • cliente_id collega ogni ordine a un cliente.
  • ON DELETE CASCADE assicura che se un cliente viene eliminato, anche i suoi ordini lo siano.
CREATE TABLE dettagli_ordine ( id INT AUTO_INCREMENT PRIMARY KEY, ordine_id INT, prodotto_id INT, quantita INT NOT NULL, FOREIGN KEY (ordine_id) REFERENCES ordini(id) ON DELETE CASCADE, FOREIGN KEY (prodotto_id) REFERENCES prodotti(id) ON DELETE CASCADE ); 

Questa tabella gestisce la relazione molti-a-molti tra ordini e prodotti.

Abbiamo visto come avviare il server e il client di MySQL, creare un database e definirne la struttura con tabelle e relazioni. Ora hai una solida base per iniziare a sperimentare!

Vuoi provare a inserire dati o eseguire query? Scrivimi nei commenti e vedremo insieme come fare!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Translate »
Torna in alto