Published on

January 27, 2023

Comment supprimer des tables dans SQL Server

Les tables de Microsoft SQL Server sont parfois créées mais ne sont plus nécessaires, ce qui entraîne une base de données encombrée. Pour maintenir la propreté de la base de données relationnelle SQL, il est important de supprimer ces tables inutiles. Dans ce tutoriel, nous explorerons comment supprimer une table en utilisant la commande SQL DROP TABLE.

Syntaxe de la commande DROP TABLE

La syntaxe de la commande DROP TABLE est la suivante :

DROP TABLE { nom_base_de_données.nom_schema.nom_table | nom_schema.nom_table | nom_table } [ ,...n ] [ ; ]

La commande DROP TABLE supprime définitivement une ou plusieurs tables dans une base de données SQL Server. Il est important de faire preuve de prudence lors de l’utilisation de cette commande, car il est souvent impossible d’accéder à la table supprimée.

Autorisations requises pour la commande DROP TABLE

L’utilisateur exécutant la commande DROP TABLE doit disposer de l’une des autorisations suivantes :

  • Autorisation ALTER sur le schéma de la table
  • Autorisation CONTROL sur la table
  • Appartenance au rôle de base de données fixe db_ddladmin

Exemple : Suppression d’une table

Prenons un exemple où nous avons une base de données appelée “MaBaseDeDonnées” avec six tables : MaTable1 à MaTable6. Nous allons vous montrer comment supprimer ces tables en utilisant la commande DROP TABLE.

USE [MaBaseDeDonnées];

DROP TABLE [dbo].[MaTable1];
DROP TABLE [dbo].[MaTable2];
DROP TABLE [dbo].[MaTable3];
DROP TABLE [dbo].[MaTable4];
DROP TABLE [dbo].[MaTable5];
DROP TABLE [dbo].[MaTable6];

Après l’exécution de ces instructions, les tables MaTable1 à MaTable6 seront supprimées de la base de données.

Suppression de tables d’une autre base de données

Si vous souhaitez supprimer une table d’une autre base de données, vous pouvez spécifier le nom de la base de données, le nom du schéma et le nom de la table dans la commande DROP TABLE. Voici un exemple :

USE master;

DROP TABLE [MaBaseDeDonnées].[dbo].[MaTable2];

L’exécution de cette instruction supprimera la table MaTable2 de la base de données MaBaseDeDonnées.

Suppression de tables dans la base de données actuelle

Pour supprimer une table de la base de données actuelle, vous pouvez simplement passer le nom de la table dans la commande DROP TABLE. Voici un exemple :

USE [MaBaseDeDonnées];

DROP TABLE [dbo].[MaTable3];

L’exécution de cette instruction supprimera la table MaTable3 de la base de données actuelle.

Suppression de plusieurs tables avec une seule commande DROP TABLE

Si vous souhaitez supprimer plusieurs tables avec une seule commande DROP TABLE, vous pouvez séparer les noms des tables par une virgule. Voici un exemple :

USE [MaBaseDeDonnées];

DROP TABLE [dbo].[MaTable5], [dbo].[MaTable6];

L’exécution de cette instruction supprimera à la fois MaTable5 et MaTable6 de la base de données.

Suppression de tables avec des relations de clé étrangère

Si une table a une relation de clé étrangère avec une autre table, vous ne pouvez pas supprimer directement la table. Vous devez d’abord supprimer la table de référence ou supprimer la contrainte de clé étrangère. Voici un exemple :

USE [MaBaseDeDonnées];

DROP TABLE [dbo].[Enfant];
DROP TABLE [dbo].[Parent];

Dans cet exemple, nous supprimons d’abord la table Enfant, qui a une relation de clé étrangère avec la table Parent. Ensuite, nous pouvons supprimer la table Parent.

Archivage des tables avant la suppression

Si vous souhaitez archiver les données d’une table avant de la supprimer, vous pouvez utiliser l’instruction SELECT INTO pour créer une copie de la table. Voici un exemple :

USE [MaBaseDeDonnées];

SELECT * INTO [dbo].[MaTable7_archivée] FROM [dbo].[MaTable7];

DROP TABLE [dbo].[MaTable7];

Dans cet exemple, nous créons une nouvelle table appelée MaTable7_archivée et la remplissons avec les données de MaTable7. Ensuite, nous supprimons la table d’origine.

Renommer des tables

Si vous devez renommer une table avant de créer une nouvelle table avec le même nom, vous pouvez utiliser la procédure stockée sp_rename. Voici un exemple :

USE [MaBaseDeDonnées];

EXEC sp_rename 'dbo.MaTable8', 'MaTable8_renommée';

Dans cet exemple, nous renommons la table MaTable8 en MaTable8_renommée en utilisant la procédure stockée sp_rename.

En suivant ces directives, vous pouvez supprimer efficacement des tables dans SQL Server et maintenir une base de données propre et organisée.

Article mis à jour pour la dernière fois le 18 octobre 2023

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.