Créer des tables (moteur de base de données)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Vous pouvez créer une table, la nommer et l’ajouter à une base de données existante à l’aide du concepteur de tables dans SQL Server Management Studio (SSMS) ou Transact-SQL.

Autorisations

Cette tâche nécessite une autorisation CREATE TABLE dans la base de données et une autorisation ALTER pour le schéma dans lequel la table est créée.

Si des colonnes dans l’instruction CREATE TABLE sont définies comme type CLR défini par l’utilisateur, la propriété du type ou une autorisation REFERENCES sont nécessaires.

Si des colonnes dans l'instruction CREATE TABLE sont associées à une collection de schémas XML, la propriété de la collection de schémas XML ou une autorisation REFERENCES pour le type est nécessaire.

Utiliser le concepteur de tables dans SQL Server Management Studio

  1. Dans SSMS, dans l’Explorateur d’objets, connectez-vous à l’instance du Moteur de base de données qui contient la base de données à modifier.

  2. Dans l' Explorateur d'objets, développez le nœud Bases de données , puis la base de données qui va contenir la nouvelle table.

  3. Dans Explorateur d'objets, cliquez avec le bouton droit sur le nœud Tables de votre base de données, puis sélectionnez Nouvelle table.

  4. Tapez les noms des colonnes, choisissez des types de données et spécifiez si les valeurs null sont autorisées pour chaque colonne, comme indiqué dans l’illustration suivante :

    Capture d’écran montrant l’option Null autorisé sélectionnée pour la colonne ModifiedDate.

  5. Pour spécifier d’autres propriétés pour une colonne, telles que l’identité ou les valeurs de colonne calculées, sélectionnez la colonne et, sous l’onglet Propriétés de la colonne, choisissez les propriétés appropriées. Pour plus d’informations sur les propriétés des colonnes, consultez Propriétés des colonnes de table (SQL Server Management Studio).

  6. Pour spécifier une colonne comme clé primaire, cliquez avec le bouton droit sur la colonne et sélectionnez Définir la clé primaire. Pour plus d’informations, consultez Create Primary Keys.

  7. Pour créer des relations de clé étrangère, des contraintes de validation ou des index, cliquez avec le bouton droit dans le volet Concepteur de tables et sélectionnez un objet dans la liste, comme indiqué dans l’illustration suivante :

    Capture d’écran montrant l’option Relations.

    Pour plus d'informations sur ces objets, consultez Create Foreign Key Relationships, Create Check Constraints et Indexes.

  8. Par défaut, la table est contenue dans le schéma dbo . Pour spécifier un schéma différent pour la table, cliquez avec le bouton droit dans le volet Concepteur de tables et sélectionnez Propriétés , comme indiqué dans l’illustration suivante. Dans la liste déroulante Schémas , sélectionnez le schéma approprié.

    Capture d’écran du volet Propriétés montrant l’option Schéma.

    Pour plus d'informations sur les schémas, consultez Create a Database Schema.

  9. Dans le menu Fichier , choisissez Enregistrernom de la table.

  10. Dans la boîte de dialogue Choisir un nom , tapez un nom pour la table, puis sélectionnez OK.

  11. Pour afficher la nouvelle table, dans l' Explorateur d'objets, développez le nœud Tables et appuyez sur la touche F5 pour actualiser la liste d'objets. La nouvelle table s'affiche dans la liste des tables.

Utiliser Transact-SQL

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Copiez et collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter.

    CREATE TABLE dbo.PurchaseOrderDetail (
        PurchaseOrderID INT NOT NULL,
        LineNumber SMALLINT NOT NULL,
        ProductID INT NULL,
        UnitPrice MONEY NULL,
        OrderQty SMALLINT NULL,
        ReceivedQty FLOAT NULL,
        RejectedQty FLOAT NULL,
        DueDate DATETIME NULL
    );
    

Étapes suivantes