Erstellen von Tabellen (Datenbank-Engine)

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Sie können mit dem Tabellen-Designer in SQL Server Management Studio (SSMS) oder Transact-SQL eine neue Tabelle erstellen, benennen und zu einer vorhandenen Datenbank hinzufügen.

Berechtigungen

Für diesen Task benötigen Sie die CREATE TABLE-Berechtigung in der Datenbank und die ALTER-Berechtigung für das Schema, in dem die Tabelle erstellt wird.

Wenn in der CREATE TABLE-Anweisung Spalten als CLR-benutzerdefinierter Typ definiert sind, ist entweder der Besitz des Typs oder die REFERENCES-Berechtigung für den Typ erforderlich.

Wenn einer Spalte in der CREATE TABLE-Anweisung eine XML-Schemaauflistung zugeordnet ist, ist entweder der Besitz der XML-Schemaauflistung oder die entsprechende REFERENCES-Berechtigung erforderlich.

Verwenden des Tabellen-Designers in SQL Server Management Studio

  1. Stellen Sie im Objekt-Explorer von SSMS eine Verbindung mit der Instanz der Datenbank-Engine her, in der die zu ändernde Datenbank enthalten ist.

  2. Erweitern Sie im Objekt-Explorerzuerst den Knoten Datenbanken und dann die Datenbank, in der die neue Tabelle angelegt werden soll.

  3. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Knoten Tabellen der Datenbank und wählen Sie Neue Tabelle aus.

  4. Geben Sie für die einzelnen Spalten Spaltennamen ein, wählen Sie Datentypen aus, und legen Sie wie in der folgenden Abbildung veranschaulicht fest, ob NULL-Werte zulässig sein sollen:

    Screenshot: Für die Spalte ModifiedDate ausgewählte Option „NULL-Werte zulassen“

  5. Um weitere Eigenschaften für eine Spalte anzugeben, z. B. die Identität oder Werte für berechnete Spalten, wählen die Spalte und dann auf der Registerkarte mit den Spalteneigenschaften die entsprechenden Eigenschaften aus. Weitere Informationen zu Spalteneigenschaften finden Sie unter Tabellenspalteneigenschaften (SQL Server Management Studio).

  6. Um eine Spalte als Primärschlüssel festzulegen, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Primärschlüssel festlegenaus. Weitere Informationen finden Sie unter Create Primary Keys.

  7. Um Fremdschlüsselbeziehungen, CHECK-Einschränkungen oder Indizes zu erstellen, klicken Sie mit der rechten Maustaste in den Bereich des Tabellen-Designers, und wählen Sie, wie in der folgenden Abbildung veranschaulicht, ein Objekt aus der Liste aus:

    Screenshot: Option „Beziehungen“

    Weitere Informationen zu diesen Objekten finden Sie unter Create Foreign Key Relationships, Create Check Constraints und Indexes.

  8. Die Tabelle ist standardmäßig im dbo-Schema enthalten. Um ein anderes Schema für die Tabelle anzugeben, klicken Sie mit der rechten Maustaste in den Bereich des Tabellen-Designers, und wählen Sie Eigenschaften aus, wie in der folgenden Abbildung veranschaulicht. Wählen Sie in der Dropdownliste Schema das geeignete Schema aus.

    Screenshot: Bereich „Eigenschaften“, in dem die Option „Schema“ angezeigt wird

    Weitere Informationen zu Schemas finden Sie unter Create a Database Schema.

  9. Klicken Sie im Menü Datei auf Tabellenname speichern.

  10. Geben Sie im Dialogfeld Namen auswählen einen Namen für die Tabelle ein und wählen Sie OK aus.

  11. Zum Anzeigen der neuen Tabelle erweitern Sie im Objekt-Explorerden Knoten Tabellen und drücken F5 , um die Objektliste zu aktualisieren. Die neue Tabelle wird in der Tabellenliste angezeigt.

Verwenden von Transact-SQL

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.

    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
    );
    

Nächster Schritt