Come usare le istruzioni DDL e DML MySQL per gestire i dati

In questo articolo : DDL e DML MySQL: una guida completa per gestire i dati

DDL MySQL

DDL, acronimo di Data Definition Language, è un insieme di istruzioni SQL che vengono utilizzate per definire la struttura di un database MySQL. Le istruzioni DDL possono essere utilizzate per creare, modificare o eliminare tabelle, colonne, indici, chiavi primarie, chiavi univoche, chiavi esterne e partizioni.

Istruzioni DDL

Le istruzioni DDL più comuni sono le seguenti:

  • CREATE TABLE: crea una nuova tabella
  • ALTER TABLE: modifica la struttura di una tabella esistente
  • DROP TABLE: elimina una tabella

CREATE TABLE

L’istruzione CREATE TABLE viene utilizzata per creare una nuova tabella. La sintassi di base è la seguente:

SQL

CREATE TABLE nome_tabella (
  colonna1 tipo_colonna [, colonna2 tipo_colonna …]
);

Ad esempio, la seguente istruzione crea una tabella chiamata utenti con due colonne:

SQL

CREATE TABLE utenti (
  id INT NOT NULL AUTO_INCREMENT,
  nome VARCHAR(255)
);

La colonna id è una chiave primaria autoincrementante, mentre la colonna nome è una colonna di tipo testo.

ALTER TABLE

L’istruzione ALTER TABLE viene utilizzata per modificare la struttura di una tabella esistente. La sintassi di base è la seguente:

SQL

ALTER TABLE nome_tabella
  ADD colonna1 tipo_colonna [, colonna2 tipo_colonna ...]
| DROP colonna1 [, colonna2 ...]
| MODIFY colonna1 tipo_colonna [, colonna2 tipo_colonna ...]
| CHANGE colonna1 colonna2 tipo_colonna
| RENAME TO nuovo_nome_tabella
| MODIFY COLUMN colonna1 tipo_colonna [, colonna2 tipo_colonna ...]
| ADD CONSTRAINT vincolo

Ad esempio, la seguente istruzione aggiunge una colonna chiamata cognome alla tabella utenti:

SQL

ALTER TABLE utenti
  ADD cognome VARCHAR(255);

La seguente istruzione invece elimina la colonna cognome dalla tabella utenti:

SQL

ALTER TABLE utenti
  DROP cognome;

DROP TABLE

L’istruzione DROP TABLE viene utilizzata per eliminare una tabella. La sintassi è la seguente:

SQL

DROP TABLE nome_tabella;

Ad esempio, la seguente istruzione elimina la tabella utenti:

SQL

DROP TABLE utenti;

Altri tipi di istruzioni DDL

Le istruzioni DDL descritte in precedenza sono le più comuni, ma esistono anche altri tipi di istruzioni DDL che possono essere utilizzate per modificare la struttura di un database MySQL. Tra queste, si possono menzionare:

  • CREATE INDEX: crea un indice su una colonna o un gruppo di colonne
  • ALTER INDEX: modifica un indice esistente
  • DROP INDEX: elimina un indice
  • CREATE PRIMARY KEY: crea una chiave primaria su una colonna o un gruppo di colonne
  • ALTER TABLE ADD PRIMARY KEY: aggiunge una chiave primaria a una tabella esistente
  • DROP PRIMARY KEY: elimina una chiave primaria da una tabella
  • CREATE UNIQUE INDEX: crea un indice univoco su una colonna o un gruppo di colonne
  • ALTER TABLE ADD UNIQUE INDEX: aggiunge un indice univoco a una tabella esistente
  • DROP UNIQUE INDEX: elimina un indice univoco da una tabella
  • CREATE FOREIGN KEY: crea una chiave esterna su una colonna o un gruppo di colonne
  • ALTER TABLE ADD FOREIGN KEY: aggiunge una chiave esterna a una tabella esistente
  • DROP FOREIGN KEY: elimina una chiave esterna da una tabella
  • CREATE TABLESPACE: crea un nuovo tablespace
  • ALTER TABLESPACE: modifica le proprietà di un tablespace esistente
  • DROP TABLESPACE: elimina un tablespace
  • CREATE PARTITION: crea una nuova partizione su una tabella
  • ALTER TABLE ADD PARTITION: aggiunge una nuova partizione a una tabella esistente
  • DROP PARTITION: elimina una partizione da una tabella

Esecuzione DDL in modo atomico

A partire da MySQL 8.0, le operazioni DDL vengono eseguite in modo atomico, il che significa che vengono eseguite completamente o non vengono eseguite affatto. Ciò garantisce che le modifiche apportate alla struttura di un database non siano visibili agli utenti finché l’operazione DDL non è stata completata.

DML MySQL

DML, acronimo di Data Manipulation Language, è un insieme di istruzioni SQL che vengono utilizzate per manipolare i dati in un database MySQL. Le istruzioni DML possono essere utilizzate per inserire, aggiornare, eliminare o selezionare dati dalle tabelle.

Istruzioni DML

Le istruzioni DML più comuni sono le seguenti:

  • INSERT: inserisce dati in una tabella
  • UPDATE: aggiorna i dati in una tabella
  • DELETE: elimina i dati da una tabella
  • SELECT: seleziona i dati da una tabella

INSERT

L’istruzione INSERT viene utilizzata per inserire dati in una tabella. La sintassi di base è la seguente:

SQL

INSERT INTO nome_tabella (colonna1, colonna2, …)
VALUES (valore1, valore2, …);

Ad esempio, la seguente istruzione inserisce un nuovo record nella tabella utenti:

SQL

INSERT INTO utenti (id, nome)
VALUES (1, 'Mario Rossi');

UPDATE

L’istruzione UPDATE viene utilizzata per aggiornare i dati in una tabella. La sintassi di base è la seguente:

SQL

UPDATE nome_tabella
SET colonna1 = valore1,
  colonna2 = valore2,
  …
WHERE condizione;

Ad esempio, la seguente istruzione aggiorna il nome del record con ID 1 nella tabella utenti:

SQL

UPDATE utenti
SET nome = 'Giovanni Bianchi'
WHERE id = 1;

DELETE

L’istruzione DELETE viene utilizzata per eliminare i dati da una tabella. La sintassi di base è la seguente:

SQL

DELETE FROM nome_tabella
WHERE condizione;

Ad esempio, la seguente istruzione elimina il record con ID 1 nella tabella utenti:

SQL

DELETE FROM utenti
WHERE id = 1;

SELECT

L’istruzione SELECT viene utilizzata per selezionare i dati da una tabella. La sintassi di base è la seguente:

SQL

SELECT colonna1, colonna2, …
FROM nome_tabella
WHERE condizione;

Ad esempio, la seguente istruzione seleziona tutti i nomi dalla tabella utenti:

SQL

SELECT nome
FROM utenti;

Operazioni condizionali

Le istruzioni DML possono essere utilizzate in combinazione con le operazioni condizionali per filtrare i dati restituiti. Le operazioni condizionali più comuni sono le seguenti:

  • ==: uguale
  • !=:** diverso da
  • >>:** maggiore di
  • <>:** minore di
  • >=>:** maggiore o uguale a
  • <=>:** minore o uguale a
  • BETWEEN: compreso tra
  • IN: contenuto in
  • LIKE: simile

Ad esempio, la seguente istruzione seleziona tutti i nomi dei record con ID maggiore di 10:

SQL

SELECT nome
FROM utenti
WHERE id > 10;

Altri tipi di istruzioni DML

Le istruzioni DML descritte in precedenza sono le più comuni, ma esistono anche altri tipi di istruzioni DML che possono essere utilizzate per manipolare i dati in un database MySQL. Tra queste, si possono menzionare:

  • LOAD DATA INFILE: carica i dati da un file in una tabella
  • LOAD DATA LOCAL INFILE: carica i dati da un file locale in una tabella
  • LOAD DATA INFILE REPLACE: sostituisce i dati esistenti in una tabella con i dati caricati da un file
  • LOAD DATA LOCAL INFILE REPLACE: sostituisce i dati esistenti in una tabella con i dati caricati da un file locale
  • INSERT DELAYED: inserisce i dati in una tabella in un secondo momento
  • REPLACE INTO: inserisce i dati in una tabella, sostituendo i dati esistenti se esiste già un record con le stesse chiavi primarie

Conclusione

Le istruzioni DML sono uno strumento essenziale per la gestione dei dati in un database MySQL. Conoscere le basi delle istruzioni DML è fondamentale per poter lavorare efficacemente con i database MySQL.

Pubblicato da Carlo Contardi

Carlo Contardi, docente di informatica e sviluppatore Full Stack, condivide la sua passione per la programmazione e l’informatica attraverso il suo blog Space Coding. Offre preziosi consigli e soluzioni pratiche a chi vuole imparare a programmare o migliorare le proprie abilità. 🚀👨‍💻

Translate »