SQL Server CREATE, ALTER, DROP Tabel [T-SQL-eksempler]
โก Smart opsummering
SQL Server-tabeller gemmer data i rรฆkker og kolonner. Transact-SQL bruger CREATE TABLE til at opbygge en tabel, ALTER TABLE til at tilfรธje eller รฆndre kolonner og DROP TABLE til at fjerne tabellen, dens data og dens struktur.

Hvad er en tabel?
En tabel er et objekt i SQL Server der lagrer data i et rรฆkke-og-kolonne-format. Diagrammet nedenfor viser henholdsvis rรฆkker og kolonner.
Sรฅdan opretter du en tabel i SQL Server med T-SQL
Det fรธrste trin til at gemme data er at oprette en tabel i database hvor dataene skal vรฆre. Nรฅr du har oprettet tabellen, kan du fortsรฆtte med at indsรฆtte rรฆkker i den.
Du kan oprette en tabel pรฅ fรธlgende mรฅder:
- T-SQL: Opret en ny tabel ved at definere alle kolonner og deres datatype.
- T-SQL: Opret en ny tabel ved hjรฆlp af en eksisterende tabel.
- Brug af tabeldesigner.
Lad os studere dette i detaljer.
T-SQL: Opret en ny tabel ved at definere alle kolonner og deres datatype
Nedenfor er syntaksen til at oprette en tabel i SQL Server.
Syntaks:
CREATE TABLE tableName ( column_1 datatype [ NULL | NOT NULL ], column_2 datatype [ NULL | NOT NULL ], ... );
Her,
- Parameteren tableName angiver navnet pรฅ den tabel, du vil oprette.
- Parametrene column_1, column_2โฆ angiver de kolonner, der skal tilfรธjes til tabellen.
- En kolonne skal angives som enten NULL eller NOT NULL. Hvis du ikke angiver, bruger SQL Server NULL som standard.
Lad os oprette en grundlรฆggende tabel med to kolonner.
Forespรธrgsel:
CREATE TABLE COURSE ( Course_ID Int, Course_Name Varchar(10) )
Forudsรฆtning: Vรฆlg den database, hvor du skal oprette tabellen.
Trin 1) Kรธr forespรธrgslen ved at klikke pรฅ Udfรธr. Fรธr forespรธrgslen kรธres, findes der ingen tabel, som vist nedenfor.
Nรฅr forespรธrgslen er kรธrt, skal du klikke pรฅ knappen Opdater. Den nye tabel findes nu som Kursus, som vist nedenfor.
Trin 2) Indsรฆt nogle data. Skรฆrmbillederne nedenfor viser den nyoprettede kursustabel, der er klar til at modtage rรฆkker.
Indtil nu findes kun tabellen, men der er endnu ingen data i den.
Transact-SQL bruger INSERT-sรฆtningen til at indsรฆtte data i en tabel. Med denne sรฆtning kan du indsรฆtte en eller flere rรฆkker i en tabel.
Syntaks:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (expression_1, expression_2, ... ), (expression_1, expression_2, ... ), ...;
Syntaksen ovenfor viser den grundlรฆggende form for kommandoen, nรฅr VALUES-nรธgleordet bruges til at indsรฆtte data i en tabel.
Lad os indsรฆtte fire rรฆkker ved hjรฆlp af INSERT-kommandoen.
Insert into COURSE values (1,'SQL'); Insert into COURSE values (2,'Python'); Insert into COURSE values (3,'SQL'); Insert into COURSE values (4,'C');
รjebliksbilledet nedenfor viser, at indsรฆttelsen af โโfire rรฆkker er vellykket.
Trin 3) Brug SELECT-sรฆtningen til at se dataene. For at se data i SQL Server skal du bruge fรธlgende syntaks:
SELECT expression FROM tableName [WHERE condition];
Eksempel forespรธrgsel:
SELECT * FROM COURSE;
Tabellen blev oprettet og indeholder nu fire poster. Bemรฆrk, at du kan oprette poster med en duplikatvรฆrdi i en hvilken som helst af kolonnerne, fordi der ikke er nogen begrรฆnsninger.
T-SQL: Opret en ny tabel ved hjรฆlp af en eksisterende tabel
Antag, at du รธnsker en anden tabel ligesom den KURSUS-tabell, der er oprettet ovenfor, men du behรธver kun kolonnen Kursusnavn og ikke Kursus-ID.
Syntaks:
SELECT (Column 1, โฆ) INTO <New Table name> FROM <Old Table name>;
Eksempel forespรธrgsel:
SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;
Trin 1) Kรธr forespรธrgslen ved at klikke pรฅ Udfรธr. En ny tabel med navnet COURSE_NAMES oprettes med รฉn kolonne og fire poster kopieret fra den รฆldre tabel, som vist nedenfor.
Eksempel forespรธrgsel:
SELECT * FROM COURSE_NAMES;
Resultatet nedenfor viser de fire Course_Name-poster i den nye COURSE_NAMES-tabel.
Brug af Table Designer
Du kan ogsรฅ oprette en tabel ud fra SQL Server Management Studio IDE ved hjรฆlp af tabeldesigner.
Trin 1) Hรธjreklik pรฅ Tabel > Ny > Tabel, som vist nedenfor.
Trin 2) Indtast kolonnenavnene og datatyper, og vรฆlg om hver kolonne tillader nuller.
Trin 3) Tryk CTRL+S for at gemme tabellen, og indtast navnet som Kursustitel.
Efter du har klikket pรฅ Opdater, vises den nye tabel med navnet Kursustitel og รฉn kolonne med navnet Kursusnavn, som vist nedenfor.
รndre tabel i SQL Server
Der er to mรฅder at รฆndre en tabel i SQL Server:
- T-SQL: รndr tabellen ved at tilfรธje nye kolonner.
- Brug af tabeldesigner.
T-SQL: รndre tabel ved at indsรฆtte kolonner
Nedenfor er syntaksen for ALTER-kommandoen i SQL:
Syntaks:
Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;
Forespรธrgsel:
ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);
Trin 1) Kรธr forespรธrgslen ved at klikke pรฅ Udfรธr. En ny kolonne med navnet Kursus_Varighed findes nu i tabellen Kursus_Titel, som vist nedenfor.
Brug af Table Designer
Du kan ogsรฅ รฆndre en tabel fra brugergrรฆnsefladen ved hjรฆlp af Tabeldesigner.
Trin 1) Hรธjreklik pรฅ den eksisterende tabel > Design, som vist nedenfor.
Trin 2) Tilfรธj kolonnenavnet som Course_Start_Date, og vรฆlg dens datatype.
Trin 3) Tryk CTRL+S for at gemme den nyligt tilfรธjede kolonne. En ny kolonne med navnet Course_Start_Date oprettes i tabellen Course_Title, som vist nedenfor.
Slet tabel i SQL Server
Du sletter en tabel, nรฅr den ikke lรฆngere er nรธdvendig.
Der er to mรฅder at slette en tabel i SQL Server:
- Brug af SQL Server Management Studio.
- T-SQL: slet tabellen med DROP TABLE.
Brug af SQL Server Management Studio
Trin 1) Hรธjreklik pรฅ den eksisterende tabel > Slet for tabellen med navnet Course_Titel, som vist nedenfor.
Trin 2) Klik pรฅ OK i vinduet Slet objekt.
Tabellen Course_Title er nu slettet fra tabellisten, som vist nedenfor.
T-SQL: Slet tabel
Nedenfor er syntaksen for at slette en tabel.
Syntaks:
DROP TABLE <tableName>;
Parameteren tableName er navnet pรฅ den tabel, der skal slettes.
Forespรธrgsel:
DROP TABLE COURSE_NAMES;
Trin 1) Kรธr forespรธrgslen ved at klikke pรฅ Udfรธr. Tabellen COURSE_NAMES slettes fra tabellisten, som vist nedenfor.
Alternativt viser kildekoden en DELETE TABLE-kommando, der kun har til formรฅl at fjerne rรฆkker (data), mens tabelstrukturen forbliver intakt, sรฅ tabellen kan genbruges senere.
Syntaks:
DELETE TABLE <Table name>;
Bemรฆrk: I standard T-SQL fjernes rรฆkker med DELETE FROM <table>, og et bord tรธmmes hurtigt med TRUNCATE TABLE <table>; hele tabellen fjernes med DROP TABLE, som vist ovenfor.
Interessante fakta!
- Store filer som XML eller billeder kan gemmes i en kolonne ved hjรฆlp af datatyper med store objekter som VARBINARY(MAX), VARCHAR(MAX) eller XML-typen (SQL Server bruger ikke Oracle-stil BLOB- og CLOB-navne).
- DELETE fjerner kun rรฆkker og kan rulles tilbage inden for en transaktion, mens DROP fjerner hele tabelstrukturen; i SQL Server kan selv DROP rulles tilbage, nรฅr den kรธrer inden for en eksplicit transaktion.
























