SQL Server CREATE TABLE

Riepilogo: in questo tutorial, imparerai come utilizzare l’istruzione SQL Server CREATE TABLE per creare una nuova tabella.

Introduzione all’istruzione SQL Server CREATE TABLE

Le tabelle vengono utilizzate per memorizzare i dati nel database. Le tabelle sono denominate in modo univoco all’interno di un database e di uno schema. Ogni tabella contiene una o più colonne. E ogni colonna ha un tipo di dati associato che definisce il tipo di dati che può memorizzare, ad esempio numeri, stringhe o dati temporali.

Per creare una nuova tabella, si utilizza l’istruzione CREATE TABLE come segue:

CREATE TABLE table_name ( pk_column data_type PRIMARY KEY, column_1 data_type NOT NULL, column_2 data_type, ..., table_constraints);
Code language: SQL (Structured Query Language) (sql)

In questa sintassi:

  • Innanzitutto, specificare il nome del database in cui viene creata la tabella. database_name deve essere il nome di un database esistente. Se non lo si specifica, ildatabase_name predefinito è il database corrente.
  • In secondo luogo, specificare lo schema a cui appartiene la nuova tabella.
  • In terzo luogo, specificare il nome della nuova tabella.
  • In quarto luogo, ogni tabella dovrebbe avere una chiave primaria che consiste in una o più colonne. In genere, si elencano prima le colonne della chiave primaria e poi le altre colonne. Se la chiave primaria contiene solo una colonna, è possibile utilizzare le parole chiave PRIMARY KEY dopo il nome della colonna. Se la chiave primaria è composta da due o più colonne, è necessario specificare il vincoloPRIMARY KEY come vincolo di tabella. Ogni colonna ha un tipo di dati associato specificato dopo il suo nome nell’istruzione. Una colonna può avere uno o più vincoli di colonna comeNOT NULL eUNIQUE.
  • Quinto, una tabella può avere alcuni vincoli specificati nella sezione vincoli tabella comeFOREIGN KEYPRIMARY KEYUNIQUE eCHECK.

Si noti cheCREATE TABLE è complesso e ha più opzioni rispetto alla sintassi precedente. Vi introdurremo gradualmente a ogni singola opzione nei tutorial successivi.

di SQL Server CREA una TABELLA di esempio

L’istruzione seguente crea una nuova tabella denominata sales.visits per tracciare il cliente in negozio visite:

CREATE TABLE sales.visits ( visit_id INT PRIMARY KEY IDENTITY (1, 1), first_name VARCHAR (50) NOT NULL, last_name VARCHAR (50) NOT NULL, visited_at DATETIME, phone VARCHAR(20), store_id INT NOT NULL, FOREIGN KEY (store_id) REFERENCES sales.stores (store_id));
Code language: SQL (Structured Query Language) (sql)

In questo esempio:

Perché non specificare il nome del database in modo esplicito in cui viene creata la tabella, le visite tabella viene creata nel BikeStores database. Per lo schema, lo specifichiamo esplicitamente, pertanto, la tabella delle visite viene creata nello schema di vendita.

La tabella visits contiene sei colonne:

  • La colonna visit_id è la colonna della chiave primaria della tabella. IDENTITY(1,1) indica a SQL Server di generare automaticamente numeri interi per la colonna a partire da uno e aumentando di uno per ogni nuova riga.
  • Le colonnefirst_nameelast_namesono colonne di stringa di caratteri conVARCHAR. Queste colonne possono memorizzare fino a 50 caratteri.
  • La colonnavisited_at è una colonnaDATETIME che registra la data e l’ora in cui il cliente visita il negozio.
  • La colonnaphoneè una colonna di stringa di caratteri variabile che accettaNULL.
  • La colonnastore_id memorizza i numeri di identificazione che identificano il negozio in cui il cliente ha visitato.
  • Alla fine della definizione della tabella c’è un vincolo FOREIGN KEY. Questa chiave esterna garantisce che i valori nella colonna store_id della tabella visits debbano essere disponibili nella colonna store_id della tabella stores. Imparerai di più sul vincolo FOREIGN KEY nel prossimo tutorial.

In questo tutorial, hai imparato come usare l’istruzione CREATE TABLE di SQL Server per creare una nuova tabella in un database.

Lascia un commento

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