Suche…


Einführung

Die CREATE TABLE-Anweisung wird verwendet, um eine neue Tabelle in der Datenbank zu erstellen. Eine Tabellendefinition besteht aus einer Liste von Spalten, ihren Typen und beliebigen Integritätsbedingungen.

Syntax

  • CREATE TABLE tabellenname ([spaltename1] [datentyp1] [, [spaltenname2] [datentyp2] ...])

Parameter

Parameter Einzelheiten
Tabellenname Der Name der Tabelle
Säulen Enthält eine Aufzählung aller Spalten der Tabelle. Weitere Informationen finden Sie unter Erstellen einer neuen Tabelle .

Bemerkungen

Tabellennamen müssen eindeutig sein.

Erstellen Sie eine neue Tabelle

Mit können Sie eine einfache Employees Tabelle mit einer ID sowie den Vor- und Nachnamen des Mitarbeiters sowie dessen Telefonnummer erstellen

CREATE TABLE Employees(
    Id int identity(1,1) primary key not null,
    FName varchar(20) not null,
    LName varchar(20) not null,
    PhoneNumber varchar(10) not null
);

Dieses Beispiel ist spezifisch für Transact-SQL

CREATE TABLE erstellt eine neue Tabelle in der Datenbank, gefolgt vom Tabellennamen Employees

Darauf folgt die Liste der Spaltennamen und ihrer Eigenschaften, z. B. der ID

Id int identity(1,1) not null
Wert Bedeutung
Id der Name der Spalte
int ist der Datentyp.
identity(1,1) gibt an, dass die Spalte automatisch generierte Werte hat, die bei 1 beginnen und für jede neue Zeile um 1 erhöht werden.
primary key gibt an, dass alle Werte in dieser Spalte eindeutige Werte haben
not null gibt an, dass diese Spalte keine Nullwerte enthalten darf

Tabelle erstellen aus Auswählen

Möglicherweise möchten Sie ein Duplikat einer Tabelle erstellen:

CREATE TABLE ClonedEmployees AS SELECT * FROM Employees;

Sie können alle anderen Funktionen einer SELECT-Anweisung verwenden, um die Daten zu ändern, bevor Sie sie an die neue Tabelle übergeben. Die Spalten der neuen Tabelle werden automatisch entsprechend den ausgewählten Zeilen erstellt.

CREATE TABLE ModifiedEmployees AS
SELECT Id, CONCAT(FName," ",LName) AS FullName FROM Employees
WHERE Id > 10;

Eine Tabelle duplizieren

Um eine Tabelle zu duplizieren, gehen Sie einfach wie folgt vor:

CREATE TABLE newtable LIKE oldtable; 
INSERT newtable SELECT * FROM oldtable;

CREATE TABLE Mit dem FOREIGN KEY

Nachfolgend finden Sie die Tabelle Employees mit Hinweis auf die Tabelle Cities .

CREATE TABLE Cities(
    CityID INT IDENTITY(1,1) NOT NULL,
    Name VARCHAR(20) NOT NULL,
    Zip VARCHAR(10) NOT NULL
);

CREATE TABLE Employees(
    EmployeeID INT IDENTITY (1,1) NOT NULL,
    FirstName VARCHAR(20) NOT NULL,
    LastName VARCHAR(20) NOT NULL,
    PhoneNumber VARCHAR(10) NOT NULL,
    CityID INT FOREIGN KEY REFERENCES Cities(CityID)
);

Hier finden Sie ein Datenbankdiagramm.

Datenbankdiagramm

Die Spalte CityID der Tabelle Employees verweist auf die Spalte CityID der Tabelle Cities . Nachfolgend finden Sie die Syntax, um dies zu erreichen.

CityID INT FOREIGN KEY REFERENCES Cities(CityID)
Wert Bedeutung
CityID Name der Spalte
int Typ der Spalte
FOREIGN KEY Macht den Fremdschlüssel (optional)
REFERENCES
Cities(CityID)
Macht die Referenz
in der Tabelle Cities Spalte CityID

Wichtig: Sie konnten keinen Verweis auf eine Tabelle erstellen, die nicht in der Datenbank vorhanden ist. Seien Sie Quelle, um zuerst die Tabelle Cities und dann die Tabelle Employees . Wenn Sie es umgekehrt machen, wird ein Fehler ausgegeben.

Erstellen Sie eine temporäre oder speicherinterne Tabelle

PostgreSQL und SQLite

So erstellen Sie eine temporäre Tabelle für die Sitzung:

CREATE TEMP TABLE MyTable(...);

SQL Server

So erstellen Sie eine temporäre Tabelle für die Sitzung:

CREATE TABLE #TempPhysical(...);

So erstellen Sie eine temporäre Tabelle, die für alle sichtbar ist:

CREATE TABLE ##TempPhysicalVisibleToEveryone(...);

So erstellen Sie eine In-Memory-Tabelle:

DECLARE @TempMemory TABLE(...);


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow