Articles

SQL Create Table Statement – med exempel Syntax

SQL är en av de mest tillförlitliga och enkla fråga språk runt. Det ger tydlig syntax som läser lätt utan att abstrahera för mycket av funktionalitetens betydelse.

Om du vill ha lite historia på språket samt några intressanta fakta, kolla in introduktionsdelen av min SQL Update Statement-artikel.

i den här artikeln kommer vi att gå igenom de viktiga delarna av att skapa en tabell i SQL. Min föredragna ”smak” av SQL är SQL Server men informationen om att skapa en tabell är ganska allestädes närvarande i alla SQL-variationer.

om du aldrig har använt SQL eller inte vet vad en tabell är, frukta inte! Kortfattat (och Brett) är en tabell ett databasobjekt som innehåller eller innehåller all data inom den delen av databasen. Den lagrar dessa data i namngivna kolumner och numrerade rader som inte är obekant om du någonsin har använt något kalkylprogram. Varje rad representerar en hel databaspost.

om data var i boxform skulle en tabell vara en del av lagerhyllorna vi lagrar dessa lådor i.

foto av Nana Smirnova på Unsplash

jag förenklar förklaringen mycket och det finns mycket mer till SQL-tabeller men det ligger utanför ramen för denna artikel. Om du kliar för en mer djupgående förklaring på tabeller uppmuntrar jag dig att dyka in i Microsofts Databasdesigndokumentation.

innan vi lär oss hur du skapar tabellen är det viktigt att vi lär oss vilka typer av data dessa kolumner och rader kan lagra.

datatyper

SQL-tabeller kan innehålla text, siffror, en kombination av text och siffror samt bilder och länkar.

När vi skapar vårt bord anger vi vilken typ av data dess rader och kolumner kommer att hålla. Här är de övergripande klassificeringarna av data:

  • ungefärliga Numerik
  • strängar
  • datum & tid
  • Unicode teckensträngar
  • exakt Numerik
  • andra

jag listar några av de vanligaste datatyperna nedan, men om du vill ha mer om alla datatyper inbjuder jag dig att kolla in den här uttömmande artikeln om varje typ från Microsoft.

Här är de vanligaste typerna av data från min erfarenhet, i ingen särskild ordning:

  • char(storlek) – Fast längdsträng som kan innehålla bokstäver, siffror, specialtecken
  • varchar(storlek) – variabel längdsträng som kan innehålla bokstäver, siffror, & specialtecken
  • boolean – noll (eller värden som motsvarar 0) är falskt, icke-noll är sant
  • int(storlek valfritt) – ett nummer upp till 10 tecken i rad längd, accepterar negativ & positiva tal
  • BigInt(storlek valfritt) – ett nummer upp till 19 tecken i längd, accepterar negativ & positiva numberrs
  • float(storlek, d) – ett tal med total talstorlek representerad av storlek och antalet tecken efter decimal som representeras av d
  • datum – datum i formatet ÅÅÅÅ-MM-DD
  • datetime – datumtid i formatet ååå-MM-DD hh:mm:ss
  • tid – tid i formatet hh:mm:ss

Okej, nu när vi vet vilka typer av data raderna och kolumnerna kan innehålla låt oss ta reda på hur många gå in i de roliga delarna!

skapa en tabell

foto av Nikhil Mitra på Unsplash

mina exempel oberoende av något program.

men om du vill börja skriva frågor och du inte är säker på var du ska börja, ta en titt på SQL Server Management Studio. Det är ett gratis, robust program som används allmänt och stöds i samhället.

alternativt finns det flera alternativ inklusive DB Fiddle som låter dig bygga scheman och skriva frågor direkt i din webbläsare.

låt oss börja med ett enkelt uttalande för att skapa en grundläggande tabell:

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

det finns andra parametrar som vi kan lägga till efter datatype för att öka kolumnerna:

  • NOT NULL – att passera denna parameter säkerställer att kolumnen inte kan hålla ett NULL värde
  • UNIQUE – att passera denna parameter förhindrar att kolumnen håller samma värde mer än en gång
  • UNIQUE KEY – passerar denna parameter kommer att beteckna den kolumnen som en unik identifierare. Det är i huvudsak en kombination av de två föregående parametrarna.

Nu ska vi skapa en tabell (med namnet doggo_info som måste följa identifieringsstandarderna för databaser) för att hålla information om invånarna i Woof Woof Retreat, en fiktiv doggy daghem som jag bara tänkte på:)

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 )

och här är den helt nya tabellen som vi just skapat:

namn färg ras ålder vikt höjd Fav_Food Fav_Toy ogillar allergier

Du kommer att märka att vårt bord är helt tomt och det beror på att vi inte har lagt till några data till det ännu. Att göra det ligger utanför ramen för denna artikel men jag ville att du skulle vara medveten om det godbit.

skapa en tabell från en befintlig tabell

det är också möjligt att skapa en ny tabell baserad på en befintlig tabell.

det är ganska enkelt och kräver inte så mycket mer syntax. Vi måste välja tabellen och kolumnerna för att ”kopiera”från:

CREATE TABLE new_table_name ASSELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table)FROM current_table_nameWHERE conditions_exist

så, lämplighet skull, jag har lagt till några data till vår doggo_info tabell och det ser nu ut som exemplet nedan:

Name Color Breed Age Weight Height Fav_Food Fav_Toy Dislikes Allergies
daisy red standard dachshund 1 14 6 salmon flavored kibble squeeky ball birds flying over the yard cats, baths, cleanliness
chief black/tan rottweiler 3 41 17 literally anything rope tug stanna utanför soffan lyssna, beter sig, inte slobbering på allt
sammie ljus honung golden retriever 9 46 19 nötkött smaksatt kibble hennes säng rambutcious valpar ingen känd

Nu kan vi skapa en annan tabell baserad på de data vi har i vår doggo_info tabell genom att köra frågan nedan:

CREATE TABLE puppies_only ASSELECT *FROM doggo_infoWHERE Age < 4

vi vill skapa en ny tabell med alla kolumnerna från doggo_info – tabellen men bara där Age är mindre än 4. Efter att ha kört den här frågan kommer vårt nya bord att se ut så här:

Name Color Breed Age Weight Height Fav_Food Fav_Toy Dislikes Allergies
daisy red standard dachshund 1 14 6 salmon flavored kibble squeeky ball birds flying over the yard cats, baths, cleanliness
chief black/tan rottweiler 3 41 17 literally anything rope tug stanna utanför soffan lyssna, beter sig, inte slobbering på allt

Jag hoppas att du kan se hur kraftfullt detta uttalande kan vara. Med några rader i vår fråga har vi i huvudsak kopierat data från en tabell till en annan men bara de rader som vi ville ha.

detta är inte bara ett praktiskt verktyg att ha i ditt utvecklarverktygsbälte – det sparar otaliga mängder tid när du behöver flytta data runt tabeller.

packa upp

Nu när du vet hur man skapar (eller kopiera) en tabell i SQL oavsett vilken situation du presenteras med, kan du börja fylla kolumner och rader med data för att lagra!

CREATE TABLE uttalandet är extremt användbart och kraftfullt. Du är redo att börja använda den bra.

Om du tyckte att den här artikeln var till hjälp, kolla in min blogg där jag ofta publicerar artiklar om webbutveckling, liv och lärande.

När du är där varför inte anmäla dig till mitt nyhetsbrev? Du kan göra det längst upp till höger på huvudbloggsidan. Jag gillar att skicka ut intressanta artiklar (mina och andra), resurser och verktyg för utvecklare då och då.

Om du har frågor om den här artikeln eller bara i allmänhet låt mig veta-kom och säg hej på Twitter eller någon av mina andra sociala medier konton som du kan hitta under nyhetsbrevet registrera dig på huvudsidan på min blogg eller på min profil här på fCC 🙂

ha en fantastisk dag! Glad lärande och glad kodning, vän!