sql >> Database >  >> RDS >> Sqlserver

Een nieuwe kolom toevoegen aan een bestaande tabel in SQL Server (T-SQL)

Wanneer u een tabel in SQL Server maakt met T-SQL, geeft u alle kolommen voor die tabel op, samen met hun gegevenstypen, eventuele beperkingen, enz.

Maar wat gebeurt er als u op een dag besluit een nieuwe kolom aan die tabel toe te voegen? Hoe voeg je de nieuwe kolom toe aan de bestaande tabel zonder de tabel opnieuw te maken? De tabel laten vallen en opnieuw beginnen is immers meestal geen optie, omdat de tabel al gegevens bevat en u waarschijnlijk niet al die gegevens wilt back-uppen en opnieuw invoegen nadat u de tabel hebt verwijderd en gemaakt.

Het antwoord is:De ALTER TABLE verklaring.

De ALTER TABLE-instructie

De ALTER TABLE statement stelt je in staat om een ​​bestaande tabel te wijzigen zonder de bestaande definitie en alle gegevens die erin staan ​​te verpesten.

U kunt als volgt een nieuwe kolom aan een bestaande tabel toevoegen:

Hier is een voorbeeld:

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

In dit voorbeeld voegen we een nieuwe kolom toe met de naam TaskDescription naar de Tasks tafel. Onze nieuwe kolom heeft het gegevenstype varchar(255) en het kan null-waarden bevatten.

We gebruiken ook GO in dit geval, wat eigenlijk geen Transact-SQL-opdracht is, maar wordt herkend door de sqlcmd en osql hulpprogramma's en SQL Server Management Studio Code Editor, en signaleert het einde van een reeks Transact-SQL-instructies.

Controleer de resultaten

U kunt de resultaten controleren door een query uit te voeren die alle kolommen voor de opgegeven tabel retourneert. Zoals dit:

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

Dit geeft de details weer van alle kolommen in de Tasks tafel. Ik schakel over naar de juiste database-bestanden (in dit geval de Solutions databank). Natuurlijk moet je de database- en tabelnaam naar wens wijzigen.


  1. Hoe SECOND() werkt in MariaDB

  2. Hoe MySQL-databases en tabellen te repareren

  3. Bijhouden op kolom- en rijniveau bij samenvoegreplicatie

  4. Roep een opgeslagen procedure aan met een andere in Oracle