Rinominare Colonne in Database SQL: Guida con ALTER TABLE e Considerazioni Chiave

Hai creato il tuo database e le tue tabelle e dopo tutto questo lavoro ti accorgi che hai bisogno di aggiungere o rinominare una colonna. Bene, per farlo puoi usare l'istruzione ALTER TABLE. Ma tieni a mente che nel farlo devi essere molto prudente. Se il tuo database gestisce file come quelli con estensione .mdf (tipici di SQL Server) o altri formati, e la tua tabella ha molte righe, può causare problemi di prestazioni al database.

Perché e Quando Rinominare una Colonna

Se volessimo rinominare il campo di una tabella in un database MySQL, perché magari il nostro progetto è in evoluzione (..o è sbagliato), possiamo farlo tramite il comando ALTER TABLE direttamente, senza necessariamente cancellarla e ricrearla. Così facendo, non perderemo i dati attribuiti a quel campo di tutta la tabella.

Rinominare una Colonna con ALTER TABLE

Puoi rinominare una colonna con il codice qui sotto. Se hai un piccolo database non hai bisogno di preoccuparti, ma è importante tenerlo a mente. Partiamo innanzitutto da una tabella di esempio. Se state già operando su una tabella, com’è probabile, utilizzate pure la tabella esistente e saltate questo passaggio. Per questo semplice esempio, abbiamo creato la tabella tabella_demo che ha solo 2 campi, l’id e il campo nome.

A questo punto, decidiamo di voler rinominare il campo nome, chiamandolo nome_completo, perché magari lo troviamo più appropriato per il nostro progetto. Per farlo, utilizziamo il comando CHANGE di ALTER TABLE con questa sintassi:

ALTER TABLE tabella_demo CHANGE nome nome_completo TEXT;

Oltre al nuovo nome, nome_completo, dobbiamo anche specificare il tipo di valore che il campo accetterà. È bene sapere, quindi, che oltre al nome del campo, potremo modificare il suo data type contestualmente.

Leggi anche: Tutti i segreti per cambiare colore al tuo parquet Iroko

SQL Tutorial Italiano 19 - Modificare tabelle con ALTER TABLE

Considerazioni sulla Sintassi e Approcci Alternativi

Nota: se la sintassi presentata qui non funziona, controlla nella documentazione relativa all'implementazione di SQL che stai usando. Le cose funzionano per lo più allo stesso modo, ma ci sono delle differenze. Ad esempio, sistemi come SQL Server potrebbero utilizzare procedure diverse o una sintassi specifica per la ridenominazione delle colonne.

È anche possibile modificare il nome di una colonna nella scheda Proprietà colonna, un approccio spesso disponibile in interfacce grafiche di gestione database come SQL Server Management Studio (SSMS).

Aggiungere una Nuova Colonna con ALTER TABLE

Se oltre a rinominare hai bisogno di aggiungere una nuova colonna, l'istruzione ALTER TABLE è ugualmente versatile. Per aggiungere una nuova colonna, devi prima selezionare la tabella, con ALTER TABLE nome_tabella, poi scrivere il nome della nuova colonna e il tipo di dato che deve aspettarsi, con ADD nome_colonna tipo_dato.

Per aggiungere una nuova colonna alla nostra tabella users, dobbiamo selezionare la tabella con ALTER TABLE users e specificare il nome della nuova colonna e il suo tipo di dato con ADD id_number TEXT.

Come creare una nuova colonna con un valore predefinito invece di NULL

Puoi anche creare una colonna con un valore predefinito usando la parola chiave default seguita dal valore che vuoi assegnare. Gli utenti vedranno allora il valore di default invece di un valore mancante compilato con NULL.

Leggi anche: Come cambiare la finitura al tuo pavimento in legno

Diciamo che avremo presto utenti internazionali e che vogliamo aggiungere una colonna country. Tutti i nostri utenti già inseriti vengono dagli Stati Uniti, allora potremmo usare questo valore come valore predefinito. Quindi assicurati di svolgere questa operazione con attenzione.

Impatto e Precauzioni nella Ridenominazione

La ridenominazione di una colonna non è un'operazione da prendere alla leggera, poiché ha delle implicazioni importanti:

  • Se una colonna viene ridenominata, i riferimenti a tale colonna non vengono ridenominati automaticamente. ed è necessario modificare manualmente tutti gli oggetti che fanno riferimento alla colonna rinominata.
  • Se, ad esempio, si rinomina una colonna di una tabella a cui viene fatto riferimento all'interno di un trigger, è necessario modificare il trigger in base al nuovo nome della colonna.
  • La ridenominazione di una colonna non aggiorna automaticamente i metadati per tutti gli oggetti che utilizzano SELECT tutte le colonne (usando *) da quella tabella.
  • Ad esempio, se si rinomina una colonna della tabella e a tale colonna fa riferimento una visualizzazione o una funzione non associata a uno schema che seleziona tutte le colonne (usando *), i metadati per la visualizzazione o la funzione continuano a riportare il nome della colonna originale.

Ricorda solo che entrambe le operazioni comportano dei rischi che è importante conoscere.

Esempio di Rinominazione di Colonna e Tipi di Dato

Consideriamo la nostra tabella_demo prima e dopo la rinominazione del campo 'nome'.

StatoNome Colonna (Precedente)Tipo Dato (Precedente)Nome Colonna (Successivo)Tipo Dato (Successivo)
PrimaidINT
PrimanomeTEXT
DopoidINT
Doponome_completoTEXT

Questo articolo ti è stato utile?

Leggi anche: istruzioni per il cambio spazzole troncatrice Compa

Impara a programmare gratuitamente. Il curriculum open source di freeCodeCamp ha aiutato più di 40.000 persone a ottenere un lavoro come programmatori.

tags: #cambiare #nome #colonna #database #mdf