När du skapar en tabell i SQL Server med T-SQL anger du alla kolumner för den tabellen, tillsammans med deras datatyper, eventuella begränsningar osv.
Men vad händer om du en dag bestämmer dig för att lägga till en ny kolumn i den tabellen? Hur lägger du till den nya kolumnen i den befintliga tabellen utan att skapa tabellen igen? När allt kommer omkring är det vanligtvis inte ett alternativ att släppa tabellen och börja om igen, eftersom tabellen redan kommer att innehålla data och du förmodligen inte vill behöva säkerhetskopiera all denna data och infoga den igen efter att du har släppt och skapat tabellen.
Svaret är:ALTER TABLE
uttalande.
Ändringstabellen
ALTER TABLE
sats låter dig ändra en befintlig tabell utan att förstöra dess befintliga definition och all data som kan finnas i den.
Du kan lägga till en ny kolumn i en befintlig tabell så här:
Här är ett exempel:
ALTER TABLE Tasks ADD TaskDescription varchar(255) NULL; GO
I det här exemplet lägger vi till en ny kolumn som heter TaskDescription
till Tasks
tabell. Vår nya kolumn har datatypen varchar(255)
och den kan innehålla nollvärden.
Vi använder också GO
i det här fallet, som egentligen inte är ett Transact-SQL-kommando, men det känns igen av sqlcmd och osql verktyg och SQL Server Management Studio Code Editor, och signalerar slutet på en sats av Transact-SQL-satser.
Kontrollera resultaten
Du kan kontrollera resultaten genom att köra en fråga som returnerar alla kolumner för den givna tabellen. Så här:
USE Solutions; SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tasks';
Detta listar detaljerna för alla kolumner i Tasks
tabell. Jag byter till rätt databas först (i det här fallet Solutions
). databas). Naturligtvis måste du ändra databasen och tabellnamnet efter behov.