sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man lägger till en ny kolumn i en befintlig tabell i SQL Server (T-SQL)

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.


  1. De vanligaste MySQL-frågorna

  2. Oracle hur man exporterar en fråga till en text/csv-fil

  3. PSQLEUndantag:FEL:relation TABLE_NAME finns inte

  4. Hur man hanterar sommartid i Oracle-databasen