SQL CREATE TABLE: come creare una nuova tabella

Il comando SQL CREATE TABLE viene usato per creare una nuova tabella, che deve essere contrassegnata in modo univoco all’interno del database. Già al momento della creazione dovrai impostare alcuni parametri importanti. Inoltre, puoi partire anche da una tabella già esistente.

Cos’è SQL CREATE TABLE?

Dopo aver creato un database SQL con lo Structured Query Language puoi generare una nuova tabella. Questa serve a salvare i vari record di dati e determina la struttura nella quale questi dati verranno rielaborati. Da un lato, le tabelle sono composte da campi o colonne che possono contenere determinati tipi di dati; dall’altro, da righe che elencano tali dati. Per creare una nuova tabella si usa il comando SQL CREATE TABLE. Grazie a questo comando non generi solo una nuova tabella, ma definisci fin dal principio come sarà strutturata. Successivamente compili la tabella con i dati.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

Sintassi e funzionamento

Osservando da vicino la sintassi di SQL CREATE TABLE risulta subito chiaro che, per consentire il corretto funzionamento della tabella, è necessario specificare fin da subito i tipi di dati e denominare correttamente gli elementi. La sintassi di base è la seguente:

CREATE TABLE nome_della_tabella (
colonna1 tipo_di_dato,
colonna2 tipo_di_dato,
colonna3 tipo_di_dato,
…
);
sql

Con il comando SQL CREATE TABLE crei una nuova tabella e specifichi il nome nella prima riga. Quindi procedi a definire la tabella all’interno di due parentesi. Con colonna1, colonna2 e così via denomini le colonne, mentre con tipo_di_dato specifichi quali tipi di dati possono essere salvati all’interno della relativa colonna. Ad esempio, i tipi di dati usati più spesso sono VARCHAR (una stringa che può contenere caratteri, numeri o caratteri speciali), BOOLEAN (per i valori booleani true o false), INT (per i valori numerici) o DATE (per le date).

Esempio di una nuova tabella

Per comprendere al meglio come funziona SQL CREATE TABLE, presentiamo di seguito alcuni esempi pratici di come può essere strutturata una tabella. A tal proposito creiamo un elenco di dipendenti contenente l’ID del dipendente, il cognome, il nome, l’indirizzo, la città e l’età. In totale abbiamo quindi bisogno di sei colonne, che possono contenere diversi tipi di dati. Questo è il codice corrispondente:

CREATE TABLE Collaboratore (
ID INT NOT NULL,
Cognome VARCHAR(50),
Nome VARCHAR(50),
Indirizzo VARCHAR(50),
Città VARCHAR(50),
Età INT NOT NULL
);
sql

Per ID e Età selezioniamo il tipo di dato INT che ammette numeri. L’attributo NOT NULL stabilisce quali di questi campi non possono restare vuoti. Le colonne restanti quali Cognome, Nome, Indirizzo e Città possono contenere lettere, numeri e caratteri speciali.

Combinazione con il comando IF NOT EXISTS

Per permettere al sistema di accedere a una determinata tabella, questa deve essere univoca all’interno del database. Questo principio vale per tutte le tabelle esistenti. Pertanto, se cerchi di creare una nuova tabella con SQL CREATE TABLE selezionando un nome già esistente, otterrai un messaggio di errore del tipo Error: table already exists. Per prevenire questo inconveniente puoi aggiungere il comando opzionale IF NOT EXISTS, che serve a verificare se esiste già una tabella con quel nome e, in caso contrario, crea una nuova tabella con i parametri memorizzati. Di seguito la variante precedente, completa del comando IF NOT EXISTS:

CREATE TABLE IF NOT EXISTS Collaboratori (
ID INT NOT NULL,
Cognome VARCHAR(50),
Nome VARCHAR(50),
Indirizzo VARCHAR(50),
Città VARCHAR(50),
Età INT NOT NULL
);
sql

Creare una nuova tabella sulla base di una già esistente

Pur essendo molto facile da usare, questo comando può risultare scomodo quando ci si trova a creare più tabelle simili fra loro. Per questo motivo con SQL CREATE DATABASE hai anche la possibilità di creare una nuova tabella sulla base di una tabella già esistente. In questo caso puoi scegliere se crearne una copia esatta o se riprendere solo alcuni parametri. Di seguito ti illustriamo entrambe le procedure. Nel primo caso creiamo un elenco di collaboratori e collaboratrici per una nuova filiale. La struttura della tabella è identica, ma richiede un nuovo nome. Il relativo codice si presenta così:

CREATE TABLE Nuovo_elenco_collaboratori
AS
SELECT *
FROM Collaboratori;
sql

Tramite l’asterisco segnaliamo al sistema che deve rilevare tutte le colonne.

Nell’esempio sottostante creiamo un elenco di clienti. Questo deve contenere le colonne ID, cognome, nome, indirizzo e città, ma non la colonna data di nascita. Per questo specifichiamo esattamente quali colonne devono essere copiate:

CREATE TABLE Elenco_clienti
AS
SELECT ID, cognome, nome, indirizzo, città
FROM Collaboratori;
sql

Comandi simili a SQL CREATE TABLE

Oltre a CREATE DATABASE, esistono una serie di comandi utili che integrano SQL CREATE TABLE. Fra questi citiamo SQL DELETE, che consente di cancellare dati da una tabella, e gli alias SQL, grazie ai quali è possibile modificare il nome di una tabella o colonna.

Consiglio

Il tuo server personale: grazie all’hosting SQL server di IONOS non puoi solo scegliere fra MSSQL, MySQL e MariaDB, ma hai a disposizione anche numerose funzionalità utili. Trova la soluzione più adatta alle tue esigenze!

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top