Ajouter une colonne à SQL Server

101

J'ai besoin d'ajouter une colonne à ma SQL Servertable. Est-il possible de le faire sans perdre les données que j'ai déjà?

Antarr Byrd
la source

Réponses:

158

Bien sûr! Utilisez simplement la ALTER TABLE...syntaxe.

Exemple

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

Ou

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

Dans SQL Server 2008, le premier est un changement de métadonnées uniquement. Le second mettra à jour toutes les lignes.

Dans l'édition Entreprise de SQL Server 2012+, le second est un changement de métadonnées uniquement .

Martin Smith
la source
17

Utilisez cette requête:

ALTER TABLE tablename ADD columname DATATYPE(size);

Et voici un exemple:

ALTER TABLE Customer ADD LastName VARCHAR(50);
bhavesh N
la source
1
Si vous publiez des échantillons de code, XML ou de données, veuillez mettre en évidence ces lignes dans l'éditeur de texte et cliquer sur le bouton "exemples de code" ( { }) dans la barre d'outils de l'éditeur pour bien le formater et la mettre en évidence!
marc_s
3

L'ajout d'une colonne à l'aide de SSMS ou ALTER TABLE .. ADDne supprimera aucune donnée existante.

Alex K.
la source
2

Ajouter une nouvelle colonne à la table

ALTER TABLE [table]
ADD Column1 Datatype

Par exemple

ALTER TABLE [test]
ADD ID Int

Si l'utilisateur veut l'incrémenter automatiquement, alors

ALTER TABLE [test]
ADD ID Int IDENTITY(1,1) NOT NULL
Chirag Thakar
la source
-1

Ajoutez une nouvelle colonne à la table avec la valeur par défaut.

ALTER TABLE NAME_OF_TABLE
ADD COLUMN_NAME datatype
DEFAULT DEFAULT_VALUE
Rakesh Singh Balhara
la source
Votre réponse serait bien meilleure si vous ajoutiez une brève explication sur ce qui se passe ici.
Bonifacio2