Welcome to Our Website

MySQL CREATE TABLE (Italiano)

Riepilogo: in questo tutorial, ti mostreremo come utilizzare l’istruzione MySQLCREATE TABLE per creare una nuova tabella nel database.

MySQL CREATE TABLE syntax

L’istruzioneCREATE TABLE consente di creare una nuova tabella in un database.

Quanto segue illustra la sintassi di base dell’istruzioneCREATE TABLE:

Esaminiamo la sintassi in modo più dettagliato.,

Innanzitutto, si specifica il nome della tabella che si desidera creare dopo le parole chiave CREATE TABLE. Il nome della tabella deve essere univoco all’interno di un database. Il IF NOT EXISTS è facoltativo. Consente di verificare se la tabella creata esiste già nel database. Se questo è il caso, MySQL ignorerà l’intera istruzione e non creerà alcuna nuova tabella.

In secondo luogo, si specifica un elenco di colonne della tabella nella sezione column_list, le colonne sono separate da virgole.,

In terzo luogo, è possibile specificare facoltativamente il motore di archiviazione per la tabella nella clausolaENGINE. È possibile utilizzare qualsiasi motore di archiviazione come InnoDB e MyISAM. Se non si dichiara esplicitamente un motore di archiviazione, MySQL utilizzerà InnoDB per impostazione predefinita.

InnoDB è diventato il motore di archiviazione predefinito dalla versione 5.5 di MySQL. InnoDB storage engine offre molti vantaggi di un sistema di gestione di database relazionali come la transazione ACID, l’integrità referenziale e il ripristino degli arresti anomali. Nelle versioni precedenti, MySQL ha utilizzato MyISAM come motore di archiviazione predefinito.,

Quanto segue mostra la sintassi per la definizione di una colonna:

Ecco i dettagli:

  • Ilcolumn_name specifica il nome della colonna. Ogni colonna ha un tipo di dati specifico e una dimensione opzionale, ad esempio,VARCHAR(255)
  • Il vincoloNOT NULL assicura che la colonna non conterràNULL. Oltre al vincoloNOT NULL, una colonna può avere un vincolo aggiuntivo come CHECK e UNIQUE.
  • DEFAULT specifica un valore predefinito per la colonna.,
  • IlAUTO_INCREMENT indica che il valore della colonna viene incrementato di uno automaticamente ogni volta che viene inserita una nuova riga nella tabella. Ogni tabella ha un massimo di una colonnaAUTO_INCREMENT.

Dopo l’elenco delle colonne, è possibile definire vincoli di tabella come UNIQUE, CHECK, PRIMARY KEY e FOREIGN KEY.

Ad esempio, se si desidera impostare una colonna o un gruppo di colonne come chiave primaria, si utilizza la seguente sintassi:

Code language: SQL (Structured Query Language) (sql)

MySQL CREATE TABLE statement examples

Prendiamo alcuni esempi di creazione di nuove tabelle.,

1) MySQL CREA una TABELLA semplice esempio

L’istruzione seguente crea una nuova tabella denominata tasks:

Code language: SQL (Structured Query Language) (sql)

La tabella di attività ha le seguenti colonne:

  • task_id si tratta di un incremento automatico di colonna. Se si utilizza l’istruzioneINSERT per inserire una nuova riga nella tabella senza specificare un valore per la colonnatask_id, MySQL genererà automaticamente un numero intero sequenziale pertask_id a partire da 1.,
  • La colonnatitle è una colonna di stringa di caratteri variabile la cui lunghezza massima è 255. Significa che non è possibile inserire una stringa la cui lunghezza è maggiore di 255 in questa colonna. Il vincoloNOT NULL indica che la colonna non accettaNULL. In altre parole, è necessario fornire un valore non NULLO quando si inserisce o si aggiorna questa colonna.
  • Lestart_date edue_date sonoDATE colonne., Poiché queste colonne non hanno il vincoloNOT NULL, possono memorizzareNULL. La colonna start_date ha un valore predefinito della data corrente. In altre parole, se non si fornisce un valore per la colonna start_date quando si inserisce una nuova riga, la colonna start_date prenderà la data corrente del server di database.
  • Lestatuseprioritysono leTINYINTcolonne che non consentonoNULL.,
  • La colonnadescriptionè una colonnaTEXTche accettaNULL.
  • La colonnacreated_atè una colonnaTIMESTAMP che accetta l’ora corrente come valore predefinito.

task_idè la colonna della chiave primaria della tabella tasks. Significa che i valori nella colonnatask_id identificheranno in modo univoco le righe nella tabella.,

una Volta che si esegue il CREATE TABLE istruzione per creare il tasks tabella, è possibile visualizzare la struttura utilizzando i tag DESCRIBE dichiarazione:

Code language: SQL (Structured Query Language) (sql)

Questa immagine mostra il diagramma di database di tasks tabella:

2) MySQL CREA una TABELLA con una chiave esterna, la chiave primaria di esempio

Supponiamo che ogni attività ha una lista di to-do list., Per memorizzare le liste di controllo delle attività, è possibile creare una nuova tabella denominatachecklists come segue:

La tabellachecklists ha una chiave primaria composta da due colonne., Pertanto, abbiamo utilizzato un vincolo di tabella per definire la chiave primaria:

Code language: SQL (Structured Query Language) (sql)

inoltre, task_id è la colonna di chiave esterna che fa riferimento alla task_id colonna della tabella tasks, abbiamo utilizzato un vincolo di chiave esterna per stabilire questa relazione:

Potete imparare più circa il vincolo di chiave esterna nella successiva esercitazione.,

Questa immagine mostra il checklists tabella e il suo rapporto con il tasks tabella:

In questo tutorial, avete imparato a usare MySQL CREATE TABLE istruzione per creare una nuova tabella nel database.

  • Questo tutorial è stato utile?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *