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à?

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 .


17

Utilisez cette requête:

ALTER TABLE tablename ADD columname DATATYPE(size);

Et voici un exemple:

ALTER TABLE Customer ADD LastName VARCHAR(50);

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.


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

-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

Votre réponse serait bien meilleure si vous ajoutiez une brève explication sur ce qui se passe ici.
Bonifacio2
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.