Istruzione SQL Crea tabella - con sintassi di esempio

SQL è uno dei linguaggi di query più affidabili e diretti in circolazione. Fornisce una sintassi chiara che si legge facilmente senza astrarre troppo dal significato della funzionalità.

Se desideri un po 'di storia sulla lingua e alcuni fatti interessanti, controlla la parte introduttiva del mio articolo sull'istruzione SQL Update.  

In questo articolo, esamineremo le parti importanti della creazione di una tabella in SQL. Il mio "gusto" preferito di SQL è SQL Server, ma le informazioni sulla creazione di una tabella sono abbastanza diffuse in tutte le varianti SQL.  

Se non hai mai usato SQL o non sai cos'è una tabella, non temere! In breve (e in generale), una tabella è un oggetto di database che contiene, o contiene, tutti i dati all'interno di quella parte del database. Memorizza questi dati in colonne denominate e righe numerate che non sono insolite se hai mai utilizzato un programma di fogli di calcolo. Ogni riga rappresenta un intero record del database.

Se i dati fossero in formato scatola, una tabella sarebbe una sezione della scaffalatura del magazzino in cui conserviamo quelle scatole.

Sto semplificando notevolmente la spiegazione e c'è molto di più nelle tabelle SQL, ma questo esula dallo scopo di questo articolo. Se hai voglia di una spiegazione più approfondita sulle tabelle, ti incoraggio a immergerti nella documentazione di Microsoft Database Design.

Prima di apprendere come creare la tabella, è importante conoscere i tipi di dati che queste colonne e righe possono memorizzare.

Tipi di dati

Le tabelle SQL possono contenere testo, numeri, una combinazione di testo e numeri, nonché immagini e collegamenti.

Quando creiamo la nostra tabella, designiamo il tipo di dati che le sue righe e colonne manterranno. Ecco le classificazioni generali dei dati:

  • Numeri approssimativi
  • stringhe
  • Appuntamento
  • Stringhe di caratteri Unicode
  • Numeri esatti
  • Altro

Elencherò alcuni dei tipi di dati più comunemente usati di seguito, ma se desideri maggiori informazioni su tutti i tipi di dati, ti invito a consultare questo articolo esaustivo su ciascun tipo di Microsoft.

Ecco i tipi di dati più comunemente usati dalla mia esperienza, in nessun ordine particolare:

  • char (size) - stringa di lunghezza fissa che può contenere lettere, numeri, caratteri speciali
  • varchar (size) - stringa di lunghezza variabile che può contenere lettere, numeri e caratteri speciali
  • booleano: zero (o valori che equivalgono a 0) è falso, diverso da zero è vero
  • int ( dimensione opzionale ): un numero lungo fino a 10 caratteri, accetta numeri negativi e positivi
  • bigint ( dimensione opzionale ): un numero lungo fino a 19 caratteri, accetta numeri negativi e positivi
  • float (size, d) - un numero con la dimensione del numero totale rappresentata dalla dimensione e il numero di caratteri dopo il decimale rappresentato dalla d
  • data - data nel formato AAAA-MM-GG
  • datetime - data e ora nel formato AAA-MM-GG hh: mm: ss
  • ora - ora nel formato hh: mm: ss

Bene, ora che sappiamo quali tipi di dati possono contenere righe e colonne entriamo nelle parti divertenti!

Creazione di una tabella

Prima di iniziare è importante notare che fornirò tutti i miei esempi indipendentemente da qualsiasi programma.

Tuttavia, se desideri iniziare a scrivere query e non sei sicuro da dove iniziare, dai un'occhiata a SQL Server Management Studio. È un programma gratuito e robusto ampiamente utilizzato e supportato dalla comunità.

In alternativa, ci sono diverse opzioni tra cui DB Fiddle che ti consentono di creare schemi e scrivere query direttamente nel tuo browser.  

Cominciamo con una semplice dichiarazione per creare una tabella di base:

CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)

Ci sono altri parametri che possiamo aggiungere dopo datatypeper aumentare le colonne:

  • NOT NULL- il passaggio di questo parametro assicurerà che la colonna non possa contenere un NULLvalore
  • UNIQUE - il passaggio di questo parametro impedirà alla colonna di mantenere lo stesso valore più di una volta
  • UNIQUE KEY- il passaggio di questo parametro designerà quella colonna come identificatore univoco. È essenzialmente una combinazione dei due parametri precedenti.

Ora creeremo una tabella (denominata doggo_info che deve aderire agli standard di identificazione per i database) per contenere informazioni sui residenti di Woof Woof Retreat, un immaginario asilo nido per cani a cui ho appena pensato :)

CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )

Ed ecco il nuovissimo tavolo che abbiamo appena creato:

NomeColoreRazzaEtàPesoAltezzaFav_FoodFav_ToyNon mi piaceAllergie

Noterai che la nostra tabella è completamente vuota e questo perché non abbiamo ancora aggiunto alcun dato. In questo modo esula dallo scopo di questo articolo, ma volevo che fossi a conoscenza di quel bocconcino.

Crea una tabella da una tabella esistente

È anche possibile creare una nuova tabella basata su una tabella esistente.

È abbastanza semplice e non richiede molta più sintassi. Dobbiamo selezionare la tabella e le colonne da "copiare" da:

CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist

Quindi, per convenienza, ho aggiunto alcuni dati alla nostra doggo_infotabella e ora assomiglia all'esempio seguente:

NomeColoreRazzaEtàPesoAltezzaFav_FoodFav_ToyNon mi piaceAllergie
margheritarossobassotto standard1146crocchette al gusto di salmonepalla squeekyuccelli che volano sopra il cortilegatti, bagni, pulizia
caponero / marrone chiarorottweiler34117letteralmente qualsiasi cosarimorchiatore a funestare fuori dal divanoascoltare, comportarsi, non sbavare su tutto
sammiemiele leggeroGolden retriever94619crocchette aromatizzate al manzoil suo lettocuccioli rambutciousnessuno conosciuto

Ora possiamo creare un'altra tabella basata sui dati che abbiamo nella nostra doggo_infotabella eseguendo la query seguente:

CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4

Vogliamo creare una nuova tabella con tutte le colonne della doggo_infotabella, ma solo dove Ageè minore di 4. Dopo aver eseguito questa query, la nostra nuova tabella sarà simile a questa:

NomeColoreRazzaEtàPesoAltezzaFav_FoodFav_ToyNon mi piaceAllergie
margheritarossobassotto standard1146crocchette al gusto di salmonepalla squeekyuccelli che volano sopra il cortilegatti, bagni, pulizia
caponero / marrone chiarorottweiler34117letteralmente qualsiasi cosarimorchiatore a funestare fuori dal divanoascoltare, comportarsi, non sbavare su tutto

Spero che tu possa vedere quanto potente possa essere questa affermazione. Con poche righe nella nostra query abbiamo essenzialmente copiato i dati da una tabella a un'altra ma solo le righe che volevamo.  

Questo non è solo uno strumento utile da avere nella cintura degli strumenti dello sviluppatore, ma ti farà risparmiare una quantità incalcolabile di tempo quando dovrai spostare i dati tra le tabelle.

Avvolgendo

Ora che sai come creare (o copiare) una tabella in SQL, indipendentemente dalla situazione che ti viene presentata, puoi iniziare a riempire le colonne e le righe con i dati da memorizzare!

La CREATE TABLEdichiarazione è estremamente utile e potente. Sei pronto per iniziare a metterlo a frutto.

Se hai trovato utile questo articolo, controlla il mio blog in cui pubblico spesso articoli sullo sviluppo web, la vita e l'apprendimento.

Già che ci sei perché non iscriverti alla mia newsletter? Puoi farlo in alto a destra nella pagina principale del blog. Ogni tanto mi piace inviare articoli interessanti (miei e altri), risorse e strumenti per gli sviluppatori.

Se hai domande su questo articolo o solo in generale fammelo sapere - vieni a salutare su Twitter o su uno dei miei altri account di social media che puoi trovare sotto la newsletter iscriviti sulla pagina principale del mio blog o sul mio profilo qui su fCC :)

Avere una giornata fantastica! Buon apprendimento e buona programmazione, amico!