Vous pouvez augmenter la longueur d’une colonne VARCHAR sans perdre les données existantes dans SQL Server. Tout ce que vous devez faire est d’exécuter les instructions ALTER TABLE suivantes. Cependant, vous devez spécifier explicitement la contrainte NULL ou NOT NULL, en fonction de vos données.
Voici la commande SQL que vous pouvez utiliser pour augmenter la longueur d’une colonne VARCHAR dans SQL Server:
ALTER TABLE Books ALTER COLUMN title VARCHAR(432)
Cette commande augmente la longueur de la colonne titre de la table Books à 432 caractères. Vous pouvez également utiliser la même commande pour augmenter la longueur des colonnes CHAR, NCHAR ou NVARCHAR.
Vous pouvez également utiliser la même commande pour augmenter la longueur de tout autre type de colonne. De même, vous pouvez également modifier d’autres propriétés de colonnes comme des contraintes, mais méfiez-vous des données existantes, comme si vous essayez de faire une colonne NULL à NOT NULL, il y aurait de nombreuses lignes qui violeraient cette contrainte, par conséquent, la base de données ne vous permettra pas de changer cette propriété de column tant que vous n’aurez pas supprimé ces lignes incriminées. Vous pouvez également voir ici un exemple de modification des propriétés de colonne dans SQL Server.
Si vous êtes nouveau dans le monde SQL, il est préférable de commencer par un cours SQL complet comme le cours de Bootcamp SQL complet de Jose Portilla sur Udemy. Cela vous aidera à apprendre SQL mieux et plus rapidement, et ce genre d’articles aura également plus de sens une fois que vous aurez des connaissances SQL à votre actif.
Voyons un exemple d’augmentation de la longueur de la colonne VARCHAR dans SQL Server.
Longueur croissante de la colonne VARCHAR existante dans une table
J’ai une table d’employés dans la base de données de test, voyons d’abord sa définition de table. Vous pouvez utiliser sp_help pour voir la définition de la table comme indiqué ci-dessous:
et maintenant je vais exécuter la commande ALTER pour augmenter la longueur de sa colonne emp_name, qui est de type VARCHAR:
ALTER TABLE Customer ALTER COLUMN emp_name VARCHAR(100);
Voici la sortie de cette commande dans SQL Server Management Studio, connectée à la base de données SQL Server Express 2014 :
Vous pouvez voir que la colonne emp_name a maintenant une longueur de 100 caractères, augmentée de 50 caractères auparavant. Consultez Microsoft SQL Server 2012 T-SQL Fundamentals pour en savoir plus sur la modification des colonnes de la base de données SQL Server.
Si vous souhaitez modifier la longueur de plusieurs colonnes, vous pouvez exécuter plusieurs commandes ALTER pour changer plusieurs colonnes, malheureusement, il n’y a aucun moyen d’augmenter la longueur de plusieurs colonnes dans une seule colonne ALTER, car ce qui suit génère une erreur de syntaxe:
C’est tout sur la façon d’augmenter la longueur de la colonne VARCHAR existante dans la base de données SQL Server. J’ai essayé et testé la requête SQL dans l’édition Microsoft SQL Server 2008 et l’édition SQL Expression 2014, mais elle devrait fonctionner sur presque toutes les bases de données car il s’agit de SQL ANSI.
Apprentissage continu
Introduction au SQL
Le Bootcamp SQL complet
SQL for Newbs: Analyse de données pour les débutants