Articles

SQL Create Table Statement – met voorbeeld syntaxis

SQL is een van de meest betrouwbare en eenvoudige querying talen rond. Het biedt duidelijke syntaxis die gemakkelijk leest zonder te veel van de Betekenis van de functionaliteit weg te abstraheren.

Als u wat geschiedenis wilt over de taal en wat interessante feiten, bekijk dan het introductiegedeelte van mijn SQL Update Statement artikel.

in dit artikel gaan we door de belangrijke delen van het maken van een tabel in SQL. Mijn voorkeur “smaak” van SQL is SQL Server, maar de informatie over het maken van een tabel is vrij alomtegenwoordig in alle SQL variaties.

als je nooit SQL hebt gebruikt of niet weet wat een tabel is, vrees dan niet! In het kort (en in grote lijnen) is een tabel een databaseobject dat alle gegevens binnen dat gedeelte van de database bevat of bevat. Het slaat deze gegevens op in benoemde kolommen en genummerde rijen die niet onbekend is als u ooit een spreadsheetprogramma hebt gebruikt. Elke rij vertegenwoordigt een hele database record.

Als gegevens in de vorm van een doos waren, dan zou een tabel een sectie zijn van de magazijnrekken waarin we die dozen opslaan.

foto door Nana Smirnova on Unsplash

Ik vereenvoudig de uitleg aanzienlijk en er is veel meer aan SQL-tabellen, maar dat valt buiten het toepassingsgebied van dit artikel. Als je zin hebt in een meer diepgaande uitleg op tabellen, moedig ik je aan om in de Microsoft Database Design documentatie te duiken.

voordat we leren hoe de tabel te maken, is het belangrijk dat we leren welke soorten gegevens deze kolommen en rijen kunnen opslaan.

gegevenstypen

SQL-tabellen kunnen tekst, getallen, een combinatie van tekst en getallen bevatten, evenals afbeeldingen en links.

bij het maken van onze tabel wijzen we het type gegevens aan dat de rijen en kolommen bevatten. Hier zijn de overkoepelende classificaties van gegevens:

  • geschatte getallen
  • Strings
  • Datum & tijd
  • Unicode-tekenreeksen
  • exacte getallen
  • andere

hieronder zal ik enkele van de meest gebruikte gegevenstypen weergeven, maar als u meer wilt over alle gegevenstypen, nodig ik u uit om dit te bekijken uitgebreid artikel over elk type van Microsoft.

Hier zijn de meest gebruikte soorten gegevens uit mijn ervaring, in geen bepaalde volgorde:

  • char(grootte) – vaste lengte van de tekenreeks die kan bestaan uit letters, cijfers, speciale tekens
  • varchar(grootte) – variabele lengte van de tekenreeks die kan bestaan uit letters, cijfers, & speciale tekens
  • boolean – Nul (of waarden die gelijk zijn aan 0) false is, niet-nul is true
  • int(grootte optioneel) – een getal van maximaal 10 tekens in lengte, accepteert negatieve & positieve getallen
  • bigint(grootte optioneel) – een getal van maximaal 19 tekens in lengte, accepteert negatieve & positieve numberrs
  • float(grootte, d) – een getal met totale getalgrootte vertegenwoordigd door grootte en het aantal tekens na de decimaal vertegenwoordigd door de d
  • datum – datum in het formaat JJJJ-MM-DD
  • datetime – datum tijd in het formaat YYY-MM-DD UU:mm:ss
  • tijd – tijd in het formaat UU:mm:ss

goed, nu we weten welke soorten gegevens de rijen en kolommen kunnen bevatten leuke onderdelen!

een tabel aanmaken

foto door Nikhil Mitra op Unsplash

voordat we beginnen is het belangrijk op te merken dat ik al mijn voorbeelden zal verstrekken, onafhankelijk van elk programma.

echter, als u wilt beginnen met het schrijven van query ‘ s en u weet niet zeker waar u moet beginnen, kijk dan eens naar SQL Server Management Studio. Het is een gratis, robuust programma dat veel wordt gebruikt en ondersteund in de gemeenschap.

als alternatief zijn er verschillende opties, waaronder DB Fiddle, waarmee u schema ’s kunt maken en query’ s direct in uw browser kunt schrijven.

laten we beginnen met een eenvoudig statement om een basistabel aan te maken:

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

Er zijn andere parameters die we kunnen toevoegen na de datatype om de kolommen te vergroten:

  • NOT NULL – het doorgeven van deze parameter zorgt ervoor dat de kolom geen NULL waarde
  • UNIQUE – het doorgeven van deze parameter voorkomt dat de kolom dezelfde waarde meer dan eens
  • UNIQUE KEY – Als u deze parameter passeert, wordt die kolom aangeduid als een unieke identificatiecode. Het is in wezen een combinatie van de vorige twee parameters.

nu gaan we een tabel maken (genaamd doggo_info die moet voldoen aan de identifier standaarden voor databases) om informatie te bevatten over de bewoners van Woof Woof Retreat, een fictieve hondenopvang waar ik net aan dacht:)

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 )

en hier is de gloednieuwe tabel die we zojuist hebben aangemaakt:

Naam Kleur Ras Leeftijd Gewicht Hoogte Fav_Food Fav_Toy Antipathieën Allergieën

U zult merken dat onze tafel leeg is en omdat we nog niet toegevoegd, gegevens van het nog. Dit is buiten het bereik van dit artikel, maar ik wilde dat u zich bewust bent van dat lekkernij.

Maak een tabel van een bestaande tabel

het is ook mogelijk om een nieuwe tabel te maken op basis van een bestaande tabel.

Het is vrij eenvoudig en vereist niet veel meer syntaxis. We moeten de tabel en kolommen selecteren om te” kopiëren “van:

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

so, expediency ’s sake, I’ ve added some data to our doggo_info table and it now looks like the example below:

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 het verblijf van de bank af luisteren, gedragen, niet kwijlende op alles
sammie licht honing golden retriever 9 46 19 rundvlees op smaak gebracht brokjes haar bed rambutcious puppies geen

Nu kunnen we een andere tabel maken op basis van de gegevens die we hebben in onze doggo_info tabel, de query wordt uitgevoerd onder:

CREATE TABLE puppies_only ASSELECT *FROM doggo_infoWHERE Age < 4

we willen een nieuwe tabel maken met alle kolommen uit de doggo_info tabel, maar alleen als de Age kleiner is dan 4. Na het uitvoeren van deze query, zal onze nieuwe tabel er zo uitzien:

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 van de bank blijven luisteren, zich gedragen, niet kwijlen op alles

Ik hoop dat u kunt zien hoe krachtig dit statement kan zijn. Met een paar regels in onze query hebben we in wezen gegevens van de ene tabel naar de andere gekopieerd, maar alleen de rijen die we wilden.

Dit is niet alleen een handig hulpmiddel om in uw ontwikkelaarsriem te hebben – het bespaart u onnoemelijke hoeveelheden tijd wanneer u gegevens rond tabellen moet verplaatsen.

Nu u weet hoe u een tabel in SQL maakt (of kopieert), kunt u beginnen met het vullen van de kolommen en Rijen met gegevens om op te slaan!

het CREATE TABLE statement is uiterst nuttig en krachtig. Je bent klaar om het goed te gebruiken.

Als u dit artikel nuttig vond, bekijk dan mijn blog waar ik regelmatig artikelen post over webontwikkeling, leven en leren.

Als u daar bent, waarom meldt u zich dan niet aan voor mijn nieuwsbrief? U kunt dat doen in de rechterbovenhoek van de belangrijkste blog pagina. Ik hou van het verzenden van interessante artikelen (de mijne en anderen), middelen, en tools voor ontwikkelaars zo nu en dan.

Als u vragen hebt over dit artikel of gewoon in het algemeen laat het me weten – kom zeg hallo op Twitter of een van mijn andere sociale media accounts die u kunt vinden onder de nieuwsbrief Meld u aan op de hoofdpagina van mijn blog of op mijn profiel hier bij fCC:)

Have an awesome day! Gelukkig leren en gelukkig coderen, vriend!