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.