sql >> Database teknologi >  >> RDS >> Sqlserver

Sådan tilføjes en ny kolonne til en eksisterende tabel i SQL Server (T-SQL)

Når du opretter en tabel i SQL Server ved hjælp af T-SQL, angiver du alle kolonnerne for den tabel sammen med deres datatyper, eventuelle begrænsninger osv.

Men hvad sker der, hvis du en dag beslutter dig for at tilføje en ny kolonne til den tabel? Hvordan tilføjer du den nye kolonne til den eksisterende tabel uden at oprette tabellen igen? Når alt kommer til alt, er det normalt ikke en mulighed at droppe tabellen og starte igen, da tabellen allerede vil indeholde data, og du sandsynligvis ikke ønsker at skulle sikkerhedskopiere alle de data og genindsætte dem efter at have droppet og oprettet tabellen.

Svaret er:ALTER TABLE erklæring.

ÆNDRINGSTABEL-erklæringen

ALTER TABLE sætning giver dig mulighed for at ændre en eksisterende tabel uden at ødelægge dens eksisterende definition og eventuelle data, der måtte ligge i den.

Du kan tilføje en ny kolonne til en eksisterende tabel som denne:

Her er et eksempel:

ALTER TABLE Tasks
    ADD TaskDescription varchar(255) NULL;
GO

I dette eksempel tilføjer vi en ny kolonne kaldet TaskDescription til Tasks bord. Vores nye kolonne har en datatype varchar(255) og den kan indeholde null-værdier.

Vi bruger også GO i dette tilfælde, som faktisk ikke er en Transact-SQL-kommando, men den genkendes af sqlcmd og osql hjælpeprogrammer og SQL Server Management Studio Code Editor, og signalerer afslutningen på en batch af Transact-SQL-sætninger.

Tjek resultaterne

Du kan kontrollere resultaterne ved at køre en forespørgsel, der returnerer alle kolonner for den givne tabel. Sådan:

USE Solutions;
SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tasks';

Dette viser detaljerne for alle kolonner i Tasks bord. Jeg skifter til den korrekte database først (i dette tilfælde Solutions). database). Selvfølgelig skal du ændre database- og tabelnavnet efter behov.


  1. Forskel mellem skema / database i MySQL

  2. Sådan ændres sekunder til en tidsværdi i MySQL

  3. Streaming af databaserede billeder ved hjælp af HttpHandler

  4. Begivenheder og tråde i .NET