Table SQL Server CREATE, ALTER, DROP [exemples T-SQL]

⚡ Résumé intelligent

Les tables SQL Server stockent les données en lignes et en colonnes. Transact-SQL utilise CREATE TABLE pour créer une table, ALTER TABLE pour ajouter ou modifier des colonnes et DROP TABLE pour supprimer la table, ses données et sa structure.

  • 🧱 Qu'est-ce qu'une table : Une table stocke les données en lignes et en colonnes et constitue l'objet de base pour contenir des données dans une base de données.
  • ️ CRÉER UN TABLEAU : L'instruction CREATE TABLE définit chaque colonne avec un nom, un type de données et un paramètre NULL ou NOT NULL.
  • 📋 Créer à partir d'un élément existant : SELECT … INTO copie les colonnes et les lignes sélectionnées d'une table existante dans une toute nouvelle table.
  • ➕ MODIFIER TABLE: La commande ALTER TABLE … ADD ajoute de nouvelles colonnes à une table sans la recréer.
  • 🇧🇷 TABLEAU DE DESCENTE : DROP TABLE supprime la table entière, y compris ses données et sa structure.
  • 🇧🇷 Concepteur de table : SQL Server Management Studio permet également de créer et de modifier visuellement des tables via Table Designer.

Exemples de création, d'altération et de suppression de tables dans SQL Server avec T-SQL

Qu'est-ce qu'un tableau ?

Une table est un objet dans SQL Server qui stocke les données sous forme de lignes et de colonnes. Le diagramme ci-dessous illustre respectivement les lignes et les colonnes.

Diagramme d'un tableau stockant des données en lignes et en colonnes

Comment créer une table dans SQL Server avec T-SQL

La première étape pour stocker des données consiste à créer une table dans le base de données L'emplacement où seront stockées les données. Une fois la table créée, vous pouvez y insérer des lignes au fur et à mesure.

Vous pouvez créer un tableau des manières suivantes :

  • T-SQL : créer une nouvelle table en définissant toutes les colonnes et leur type de données.
  • T-SQL : créer une nouvelle table à partir d’une table existante.
  • Utilisation du concepteur de tableaux.

Étudions cela en détail.

T-SQL : Créer une nouvelle table en définissant toutes les colonnes et leur type de données

Voici la syntaxe pour créer une table dans SQL Server.

syntaxe:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Ici,

  • Le paramètre tableName désigne le nom de la table que vous allez créer.
  • Les paramètres column_1, column_2… désignent les colonnes à ajouter au tableau.
  • Une colonne doit être spécifiée comme NULL ou NOT NULL. Si vous ne spécifiez rien, SQL Server utilise NULL par défaut.

Créons un tableau de base à deux colonnes.

requête:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Prérequis: Sélectionnez la base de données dans laquelle vous souhaitez créer la table.

Étape 1) Exécutez la requête en cliquant sur Exécuter. Avant l'exécution de la requête, aucune table n'existe, comme indiqué ci-dessous.

L'explorateur d'objets n'affiche aucune table Course avant l'exécution de l'instruction CREATE.

Après avoir exécuté la requête, cliquez sur le bouton Actualiser ; la nouvelle table existe désormais sous le nom Course, comme indiqué ci-dessous.

Tableau des cours affiché dans l'explorateur d'objets après exécution et actualisation

Étape 2) Saisissez des données. Les captures d'écran ci-dessous montrent la table Course nouvellement créée, prête à recevoir des lignes.

Table de cours nouvellement créée et sélectionnée dans l'explorateur d'objets avant l'insertion des données

Structure du tableau des cours avec ses deux colonnes affichées avant la saisie des données

Pour l'instant, la table existe, mais elle ne contient encore aucune donnée.

Transact-SQL propose l'instruction INSERT pour insérer des données dans une table. Cette instruction permet d'insérer une ou plusieurs lignes dans une table.

syntaxe:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

La syntaxe ci-dessus illustre la forme de base de la commande lors de l'utilisation du mot-clé VALUES pour insérer des données dans une table.

Insérons quatre lignes à l'aide de la commande INSERT.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

La capture d'écran ci-dessous montre que l'insertion de quatre lignes a réussi.

Volet Messages confirmant l'insertion de quatre lignes dans la table Cours

Étape 3) Utilisez l'instruction SELECT pour afficher les données. Pour afficher des données dans SQL Server, utilisez la syntaxe suivante :

SELECT expression
FROM tableName
[WHERE condition];

Exemple de requête :

SELECT * FROM COURSE;

La table a été créée et contient désormais quatre enregistrements. Notez qu'il est possible de créer des enregistrements avec une valeur en double dans n'importe quelle colonne, car il n'y a pas de limites. contraintes.

Grille de résultats affichant les quatre lignes de cours renvoyées par SELECT

T-SQL : Créer une nouvelle table à partir d'une table existante

Supposons que vous souhaitiez une autre table comme la table COURSE créée ci-dessus, mais que vous n'ayez besoin que de la colonne Course_Name et non de Course_ID.

syntaxe:

SELECT (Column 1, …) INTO <New Table name> FROM <Old Table name>;

Exemple de requête :

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

Étape 1) Exécutez la requête en cliquant sur Exécuter. Une nouvelle table nommée COURSE_NAMES est créée avec une colonne et quatre enregistrements copiés de l'ancienne table, comme indiqué ci-dessous.

Une nouvelle table COURSE_NAMES a été créée à partir d'une table existante à l'aide de la requête SELECT INTO.

Exemple de requête :

SELECT * FROM COURSE_NAMES;

Le résultat ci-dessous liste les quatre enregistrements Course_Name dans la nouvelle table COURSE_NAMES.

Grille de résultats affichant les valeurs Course_Name dans la table COURSE_NAMES

Utilisation du Concepteur de tables

Vous pouvez également créer un tableau à partir du SQL Server Management Studio IDE utilisant Table Designer.

Étape 1) Cliquez avec le bouton droit sur Tableau > Nouveau > Tableau, comme indiqué ci-dessous.

Dans l'Explorateur d'objets, cliquez avec le bouton droit sur Tableau, puis sur Nouveau, puis sur Tableau.

Étape 2) Saisissez les noms des colonnes et Types de données, et choisissez si chaque colonne autorise les valeurs nulles.

Barre d'outils de conception de table pour définir une nouvelle table

Grille du concepteur de tableaux avec noms de colonnes, types de données et options Autoriser les valeurs nulles

Étape 3) Appuyez sur CTRL+S pour enregistrer le tableau et saisissez le nom Course_Title.

Choisissez la boîte de dialogue Nom pour enregistrer le nouveau tableau sous le nom Course_Title.

Après avoir cliqué sur Actualiser, le nouveau tableau apparaît avec le nom Course_Title et une colonne nommée Course_Name, comme indiqué ci-dessous.

Tableau Course_Title avec une seule colonne Course_Name dans l'explorateur d'objets

Modifier la table dans SQL Server

Il existe deux façons de modifier une table dans SQL Server :

  • T-SQL : modifier la table en ajoutant de nouvelles colonnes.
  • Utilisation du concepteur de tableaux.

T-SQL : modifier la table en insérant des colonnes

Voici la syntaxe de la commande ALTER en SQL :

syntaxe:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

requête:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

Étape 1) Exécutez la requête en cliquant sur Exécuter. Une nouvelle colonne nommée Course_Duration apparaît désormais dans la table Course_Title, comme indiqué ci-dessous.

Instruction ALTER TABLE ADD ajoutant la colonne Course_Duration

Colonnes Course_Title, y compris la colonne Course_Duration nouvellement ajoutée

Utilisation du Concepteur de tables

Vous pouvez également modifier un tableau depuis l'interface utilisateur à l'aide du concepteur de tableaux.

Étape 1) Cliquez avec le bouton droit sur le tableau existant > Conception, comme indiqué ci-dessous.

Cliquez avec le bouton droit sur le tableau Course_Title et choisissez Conception

Étape 2) Ajoutez le nom de colonne « Course_Start_Date » et sélectionnez son type de données.

Ajout de la colonne Course_Start_Date et de son type de données dans le concepteur de tables

Étape 3) Appuyez sur CTRL+S pour enregistrer la colonne ajoutée. Une nouvelle colonne nommée Course_Start_Date est créée dans la table Course_Title, comme indiqué ci-dessous.

Tableau Course_Title affichant la colonne Course_Start_Date enregistrée

Supprimer une table dans SQL Server

Vous supprimez une table lorsqu'elle n'est plus nécessaire.

Il existe deux façons de supprimer une table dans SQL Server :

  • Utilisation de SQL Server Management Studio.
  • T-SQL : supprimer la table avec DROP TABLE.

Utilisation de SQL Server Management Studio

Étape 1) Faites un clic droit sur le tableau existant > Supprimer, pour le tableau nommé Course_Title, comme indiqué ci-dessous.

Cliquez avec le bouton droit sur le tableau Course_Title et choisissez Supprimer

Étape 2) Dans la fenêtre Supprimer l'objet, cliquez sur OK.

Fenêtre de confirmation de suppression d'objet avec le bouton OK

La table Course_Title a été supprimée de la liste des tables, comme indiqué ci-dessous.

Liste des tables de l'explorateur d'objets après la suppression de la table Course_Title

T-SQL : Supprimer une table

Voici la syntaxe pour supprimer une table.

syntaxe:

DROP TABLE <tableName>;

Le paramètre tableName est le nom de la table à supprimer.

requête:

DROP TABLE COURSE_NAMES;

Étape 1) Exécutez la requête en cliquant sur Exécuter. La table COURSE_NAMES est supprimée de la liste des tables, comme indiqué ci-dessous.

L'instruction DROP TABLE supprime la table COURSE_NAMES

Liste des tables de l'explorateur d'objets après la suppression de la table COURSE_NAMES

Alternativement, la source montre une commande DELETE TABLE destinée à supprimer uniquement les lignes (données) tout en laissant la structure de la table intacte, afin que la table puisse être réutilisée ultérieurement.

syntaxe:

DELETE TABLE <Table name>;

À noter: En T-SQL standard, les lignes sont supprimées avec DELETE FROM <table>et une table se vide rapidement avec TRUNCATE TABLE <table>; la table entière est supprimée avec DROP TABLE, comme indiqué ci-dessus.

Faits intéressants!

  • Les fichiers volumineux tels que les fichiers XML ou les images peuvent être stockés dans une colonne à l'aide de types de données pour objets volumineux comme VARBINARY(MAX), VARCHAR(MAX) ou le type XML (SQL Server n'utilise pas ce type). Oracle-noms de BLOB et CLOB de style).
  • La commande DELETE supprime uniquement les lignes et peut être annulée au sein d'une transaction, tandis que la commande DROP supprime toute la structure de la table ; dans SQL Server, même la commande DROP peut être annulée lorsqu'elle est exécutée dans une transaction explicite.

FAQ

La commande DELETE supprime les lignes sélectionnées et génère un journal complet. La commande TRUNCATE supprime rapidement toutes les lignes et réinitialise les valeurs d'identité. La commande DROP supprime la table entière, ses données et sa structure. Dans SQL Server, ces trois opérations peuvent être annulées au sein d'une transaction explicite.

Utilisez la commande DROP TABLE IF EXISTS nom_de_la_table, disponible depuis SQL Server 2016. Elle supprime la table si elle existe et ne fait rien si elle est absente, évitant ainsi une erreur. Sur les versions antérieures, vérifiez l'OBJECT_ID avant la suppression.ping.

SQL Server ne possède pas d'instruction RENAME TABLE. Utilisez plutôt la procédure stockée système sp_rename, par exemple : EXEC sp_rename 'ancien_nom', 'nouveau_nom'. Mettez à jour les vues, procédures et le code dépendants après l'exécution, car sp_rename ne modifie pas automatiquement ces références.

Oui. La commande ALTER TABLE table ALTER COLUMN column new_type modifie le type de données d'une colonne, et la commande ALTER TABLE table DROP COLUMN column la supprime. La modification ne réussit que si les données existantes sont compatibles ; il est donc conseillé de tester les conversions et d'effectuer une sauvegarde au préalable.

Définissez les contraintes à l'intérieur de CREATE TABLE, telles que Course_ID INT PRIMARY KEY, ou ajoutez-les ultérieurement avec ALTER TABLE ADD CONSTRAINT. clé primaire impose l'unicité, tandis qu'un clé étrangère relie les lignes entre les tableaux.

Une table temporaire, dont le nom commence par un #, est créée dans tempdb et supprimée automatiquement à la fin de la session. Une table classique est permanente jusqu'à ce que vous la supprimiez. Les tables temporaires sont adaptées au stockage temporaire de résultats intermédiaires au sein d'un traitement par lots ou d'une procédure.

Oui. Copilote GitHub Ce système peut générer des scripts CREATE, ALTER et DROP TABLE à partir d'instructions en langage naturel et suggérer des colonnes, des types de données et des contraintes. Il est impératif de vérifier le schéma généré, les clés et la gestion des valeurs nulles avant de l'exécuter en production.

Les outils d'IA et d'apprentissage automatique recommandent des structures de tables, des types de données et des index à partir d'exemples de données et de modèles de requêtes, signalent les colonnes redondantes ou surdimensionnées et mettent en garde contre les opérations DROP ou ALTER risquées. Le développeur confirme chaque suggestion avant de l'appliquer.

Résumez cet article avec :