Dodaj kolumnę do SQL Server


101

Muszę dodać kolumnę do mojej SQL Servertabeli. Czy można to zrobić bez utraty danych, które już mam?

Odpowiedzi:


158

Oczywiście! Po prostu użyj ALTER TABLE...składni.

Przykład

ALTER TABLE YourTable
  ADD Foo INT NULL /*Adds a new int column existing rows will be 
                     given a NULL value for the new column*/

Lub

ALTER TABLE YourTable
  ADD Bar INT NOT NULL DEFAULT(0) /*Adds a new int column existing rows will
                                    be given the value zero*/

W SQL Server 2008 pierwsza zmiana dotyczy tylko metadanych. Drugi zaktualizuje wszystkie wiersze.

W SQL Server 2012+ Enterprise Edition druga to tylko zmiana metadanych .


17

Użyj tego zapytania:

ALTER TABLE tablename ADD columname DATATYPE(size);

A oto przykład:

ALTER TABLE Customer ADD LastName VARCHAR(50);

1
Jeśli kod pocztowy, próbki XML lub danych, należy zaznaczyć te linie w edytorze tekstowym i kliknij na przycisk „Kod próbki” ( { }) na pasku narzędzi edytora, aby ładnie format i składnia go podświetlić!
marc_s,

3

Dodanie kolumny za pomocą SSMS lub ALTER TABLE .. ADDnie spowoduje usunięcia żadnych istniejących danych.


2

Dodaj nową kolumnę do tabeli

ALTER TABLE [table]
ADD Column1 Datatype

Na przykład

ALTER TABLE [test]
ADD ID Int

Jeśli użytkownik chce, aby był automatycznie zwiększany, to

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL

-1

Dodaj nową kolumnę do tabeli z wartością domyślną.

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE

Twoja odpowiedź byłaby o wiele lepsza, gdybyś dodał krótkie wyjaśnienie, co się tutaj dzieje.
Bonifacio 2
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.