In MariaDB, il comando CREATE TABLE si usa per creare nuove tabelle. Poiché tali tabelle devono essere uniche all’interno del database, esistono le opzioni OR REPLACE e IF NOT EXISTS, che aiutano a evitare duplicati e messaggi di errore.

Cos’è CREATE TABLE in MariaDB?

In MariaDB, l’istru­zio­ne CREATE TABLE serve a creare una nuova tabella che può essere compilata con dati. Poiché MariaDB è un sistema di gestione di database re­la­zio­na­li (DBMS), queste tabelle co­sti­tui­sco­no la base per tutte le ope­ra­zio­ni di me­mo­riz­za­zio­ne. Durante la creazione della tabella, si de­fi­ni­sco­no le singole colonne e si spe­ci­fi­ca­no i tipi di dati che esse possono contenere. Le tabelle all’interno di un nuovo database (che si crea con CREATE DATABASE in MariaDB) sono uniche. Per questo, qualora esista già una tabella con lo stesso nome, viene vi­sua­liz­za­to un messaggio di errore. Nei prossimi paragrafi il­lu­stria­mo come usare il comando CREATE TABLE in MariaDB e quali spe­ci­fi­ca­zio­ni puoi ag­giun­ge­re.

Managed Database Services
Con­cen­tra­ti sul tuo progetto, noi pensiamo al resto
  • Partner IONOS Cloud
  • Soluzioni fles­si­bi­li e su misura
  • Data center situati in Europa

Sintassi e fun­zio­na­men­to

La sintassi generica di CREATE TABLE in MariaDB segue sempre questo principio:

CREATE TABLE nome_della_tabella(
	nome_della_prima_colonna tipodidati_della_prima_colonna,
	nome_della_seconda_colonna tipodidati_della_seconda_colonna,
	…
);
sql

Anzitutto crei una nuova tabella, alla quale as­se­gne­rai un nome specifico invece del se­gna­po­sto “Nome_della_tabella”. Puoi usare qualsiasi carattere del codice ASCII. Suc­ces­si­va­men­te, definisci le colonne della tabella, indicando per ciascuna un nome e il tipo di dati che può contenere. Ricorda di separare le colonne con delle virgole.

OR REPLACE e IF NOT EXISTS

Poiché le tabelle devono avere un nome univoco, qualora esista già una tabella con lo stesso nome comparirà un messaggio di errore. Per prevenire questo problema hai due pos­si­bi­li­tà: la prima è usare OR REPLACE e ve­ri­fi­ca­re se nel database esiste già una tabella con lo stesso nome. In caso af­fer­ma­ti­vo, la vecchia tabella viene so­sti­tui­ta con quella nuova. In caso negativo viene creata una nuova tabella. Questa è la sintassi dell’istru­zio­ne:

CREATE OR REPLACE TABLE nome_della_tabella(
	nome_della_prima_colonna tipodidati_della_prima_colonna,
	nome_della_seconda_colonna tipodidati_della_seconda_colonna,
	…
);
sql

Tuttavia, ricorda che questo comando so­vra­scri­ve la tabella e i dati andranno persi. Lo snippet pre­ce­den­te è una forma ab­bre­via­ta del seguente codice:

DROP TABLE IF EXISTS nome_della_tabella;
CREATE TABLE nome_della_tabella(
	nome_della_prima_colonna tipodidati_della_prima_colonna,
	nome_della_seconda_colonna tipodidati_della_seconda_colonna,
	…
);
sql

Un altro modo per evitare duplicati e i messaggi di errore che ne con­se­guo­no è usare l’opzione IF NOT EXISTS. Questa istru­zio­ne verifica se nel database esiste già una tabella con lo stesso nome. Qualora la tabella esista già, viene vi­sua­liz­za­to un messaggio senza che la tabella venga so­vra­scrit­ta. Se non esiste alcuna tabella con quel nome, verrà creata una nuova tabella. Questa la è la relativa sintassi:

CREATE TABLE IF NOT EXISTS nome_della_tabella(
	nome_della_prima_colonna tipodidati_della_prima_colonna,
	nome_della_seconda_colonna tipodidati_della_seconda_colonna,
	…
);
sql

Esempio di CREATE TABLE in MariaDB

Di seguito ti pre­sen­tia­mo un breve esempio per spiegare il fun­zio­na­men­to di CREATE TABLE in MariaDB. Nell’esempio creiamo una tabella per un elenco di progetti fittizi con un totale di otto colonne. Questo è il relativo codice:

CREATE TABLE progetti(
	numerodiprogetto INT AUTO_INCREMENT,
	cognome VARCHAR(50) NOT NULL,
	nome VARCHAR(50),
	inizio DATE,
	fine DATE,
	costi DOUBLE,
	compiti VARCHAR(255) NOT NULL,
	created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
	PRIMARY KEY (numerodiprogetto)
);
sql

Prima di tutto creiamo una nuova tabella chiamata “Progetti”. Suc­ces­si­va­men­te, spe­ci­fi­chia­mo le colonne come segue:

  • nu­me­ro­di­pro­get­to: questa colonna assegna un numero univoco a ciascun progetto e viene uti­liz­za­ta come chiave primaria per iden­ti­fi­ca­re chia­ra­men­te ogni riga. Usando AUTO_INCREMENT il programma aumenterà pro­gres­si­va­men­te la nu­me­ra­zio­ne nella colonna “nu­me­ro­di­pro­get­to” in modo da garantire una sequenza uniforme.
  • cognome: in questa colonna si assegna il cognome del cliente o della cliente, il quale può contenere al massimo 50 caratteri. Usando l’attributo NOT NULL in­di­chia­mo che questa colonna non può rimanere vuota.
  • nome: questa colonna funziona in modo simile alla pre­ce­den­te. Ma poiché il nome non è ob­bli­ga­to­rio per la fat­tu­ra­zio­ne, questo campo può essere lasciato vuoto.
  • inizio: in questa colonna si registra la data di inizio di un progetto continuo. Sono ammessi valori nel formato data spe­ci­fi­ca­to o il valore zero.
  • fine: la colonna “fine” indica la scadenza o la data di com­ple­ta­men­to del progetto. Anche in questo caso, i valori possono pre­sen­ta­re il formato DATE o NULL.
  • costi: in questa colonna compare l’importo della fattura, che viene inserito nel formato “DOUBLE”.
  • attività: questa colonna contiene una breve de­scri­zio­ne dei servizi svolti per il progetto. Lo spazio massimo a di­spo­si­zio­ne è di 255 caratteri e la colonna non può rimanere vuota.
  • created_at: infine, in questa colonna compare la data di creazione del progetto. Questo avviene sulla base dell’ora e della data corrente del sistema.
Consiglio

Nella nostra Digital Guide puoi leggere numerosi articoli utili su MariaDB. Ad esempio, puoi scoprire come usare il comando MariaDB CREATE USER. Puoi anche leggere questo articolo di confronto fra MariaDB e MySQL nonché imparare tutto quello che c’è da sapere sull’in­stal­la­zio­ne di MariaDB.

Vai al menu prin­ci­pa­le