Résumé: dans ce didacticiel, vous apprendrez à utiliser SQL Server ALTER TABLE ALTER COLUMN
pour modifier une colonne d’une table.
SQL Server vous permet d’effectuer les modifications suivantes sur une colonne existante d’une table:
- Modifier le type de données
- Modifier la taille
- Ajouter une contrainte
NOT NULL
Modifier le type de données de la colonne
Pour modifier le type de données d’une colonne, vous utilisez l’instruction suivante:
Code language: SQL (Structured Query Language) (sql)
Le nouveau type de données doit être compatible avec l’ancien, sinon, vous obtiendrez une erreur de conversion au cas où la colonne contiendrait des données et qu’elle échouerait à se convertir.
Voir l’exemple suivant.
Tout d’abord, créez une nouvelle table avec une colonne dont le type de données est INT
:
Code language: SQL (Structured Query Language) (sql)
Ensuite, insérez quelques lignes dans le tableau:
Code language: SQL (Structured Query Language) (sql)
Deuxièmement, mo indiquez le type de données de la colonne de INT
à VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
Troisièmement, insérez une nouvelle ligne avec une chaîne de caractères data:
Code language: SQL (Structured Query Language) (sql)
Quatrièmement, modifiez le type de données de la colonne de VARCHAR
retour à INT
:
Code language: SQL (Structured Query Language) (sql)
SQL Server a émis l’erreur suivante:
Code language: SQL (Structured Query Language) (sql)
Changer la taille d’une colonne
L’instruction suivante crée un nouveau tableau avec une colonne dont le type de données est VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Insérons quelques exemples de données dans la table t2:
Code language: SQL (Structured Query Language) (sql)
Vous pouvez augmenter la taille de la colonne comme suit:
Code language: SQL (Structured Query Language) (sql)
Cependant, lorsque vous diminuez la taille du colonne, SQL Server vérifie les données existantes pour voir s’il peut convertir des données en fonction de la nouvelle taille. Si la conversion échoue, SQL Server met fin à l’instruction et émet un message d’erreur.
Par exemple, si vous réduisez la taille de la colonne c
à 5 caractères:
Code language: SQL (Structured Query Language) (sql)
SQL Server a émis l’erreur suivante:
Code language: SQL (Structured Query Language) (sql)
Ajoutez une contrainte NOT NULL à une colonne Nullable
L’instruction suivante crée une nouvelle table avec une colonne Nullable:
Code language: SQL (Structured Query Language) (sql)
L’instruction suivante insère quelques lignes dans la table :
Code language: SQL (Structured Query Language) (sql)
Si vous souhaitez ajouter la contrainte NOT NULL
à la colonne c
, vous devez d’abord mettre à jour NULL en non-null par exemple:
Code language: SQL (Structured Query Language) (sql)
Et puis ajouter le NOT NULL
contrainte:
Code language: SQL (Structured Query Language) (sql)
Dans ce tutoriel, vous avez appris à utiliser SQL Server ALTER TABLE ALTER COLUMN
pour modifier certaines propriétés d’une colonne existante.