PostgreSQL CREATE TABLE: creazione di nuove tabelle
Il comando CREATE TABLE in PostgreSQL permette di creare nuove tabelle all’interno di un database. Inoltre, con il comando è possibile definire direttamente anche specifiche diverse per la tabella e per le sue singole colonne.
Che cos’è CREATE TABLE
in PostgreSQL?
Il comando CREATE TABLE
di PostgreSQL serve a creare una nuova tabella in un database già esistente. Utilizzando questo comando si definisce sempre anche un nome univoco ed esclusivo per la tabella e per le sue singole colonne all’interno del database. A ciascuna colonna vengono assegnati anche un nome e il tipo di dati che deve essere presente nella colonna alla fine della procedura. Inoltre, è possibile definire dei vincoli per singole colonne o per tutte le colonne già in fase di creazione.
Se desideri modificare le impostazioni della tua tabella in un secondo tempo, nel sistema di gestione di database puoi farlo utilizzando il comando ALTER TABLE, che ti permette di adattare singole colonne in base alle tue esigenze.
Sintassi e funzionamento di CREATE TABLE
La sintassi di base di CREATE TABLE
in PostgreSQL è la seguente:
CREATE TABLE nome_della_tabella(
colonna1 tipo_di_dati PRIMARY KEY,
colonna2 tipo_di_dati,
colonna3 tipo_di_dati,
…
);
postgresqlPer prima cosa devi quindi utilizzare il comando principale CREATE TABLE
come istruzione per creare una nuova tabella in PostgreSQL. A questa tabella devi quindi assegnare un nome univoco. Dopo il nome occorre inserire fra parentesi le denominazioni delle singole colonne e una definizione dei tipi di dati consentiti.
Se desideri già includere dei vincoli (i cosiddetti “constraint”), la sintassi cambia in questo modo:
CREATE TABLE nome_della_tabella(
colonna1 tipo_di_dati PRIMARY KEY vincolo,
colonna2 tipo_di_dati vincolo,
colonna3 tipo_di_dati vincolo,
…
);
postgresqlOltre a PRIMARY KEY
, PostgreSQL supporta anche le seguenti tipologie di vincoli:
NOT NULL
: permette di assicurarsi che la colonna in questione non possa ricevere valori NULL.UNIQUE
: definisci questo vincolo per garantire che tutti i valori in una colonna o in una combinazione di colonne siano univoci.CHECK
: conCHECK
puoi specificare le condizioni da soddisfare durante l’inserimento o l’aggiornamento dei dati.FOREIGN KEY
: questo vincolo è necessario per impostare le relazioni con una colonna in un’altra tabella.DEFAULT
: definisce un valore predefinito per una colonna se non viene specificato alcun valore esplicito al momento dell’inserimento.
- Hardware dedicato al 100%
- Fatturazione al minuto
- Potenziato dai processori Intel® Xeon® e AMD
Esempio pratico per CREATE TABLE
in PostgreSQL
Il funzionamento di CREATE TABLE
in PostgreSQL ti sarà più chiaro dopo aver osservato questo esempio pratico. A tal fine creiamo una nuova tabella denominata “Elenco clienti”. Innanzitutto, la tabella ha quattro colonne: “ID”, “Nome”, “Stato” e “Indirizzo”. Definiamo quindi “ID” come PRIMARY KEY
, mentre le colonne per “ID” e “Nome” non devono rimanere vuote. Il codice da utilizzare si presenta così:
CREATE TABLE Elenco clienti(
ID INT PRIMARY KEY NOT NULL,
Nome VARCHAR(50) NOT NULL,
Stato VARCHAR(50),
Indirizzo VARCHAR(255)
);
postgresqlA questo punto, il database crea una tabella vuota con questo nome e le colonne da te definite, che potrai quindi compilare con i valori desiderati. Il risultato della tabella compilata sarà quindi simile a questo:
ID | Nome | Stato | Indirizzo |
---|---|---|---|
1 | Mario Rossi | Italia | Via Garibaldi 1, 12345 Roma |
2 | … | … | … |
3 | … | … | … |
Visualizzazione delle tabelle create con \d
Per assicurarti che l’azione di PostgreSQL con CREATE TABLE
sia stata eseguita correttamente puoi utilizzare il comando \d
. Esso ti permette di elencare tutte le tabelle all’interno di un database. Funziona così:
testdb-# \d
postgresqlIn alternativa, puoi utilizzare questo comando anche per ottenere una descrizione più precisa di una tabella specifica. Per ottenere un elenco di tutte le specifiche del nostro esempio precedente, utilizza il comando in questo modo:
testdb-# \d
postgresql