SQL
TABELLE ERSTELLEN
Suche…
Einführung
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.
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(...);