Zusammenfassung: In diesem Tutorial erfahren Sie, wie Sie die SQL Server-Anweisung CREATE TABLE
verwenden, um eine neue Tabelle zu erstellen.
Einführung in die SQL Server CREATE TABLE-Anweisung
Tabellen werden zum Speichern von Daten in der Datenbank verwendet. Tabellen werden innerhalb einer Datenbank und eines Schemas eindeutig benannt. Jede Tabelle enthält eine oder mehrere Spalten. Und jeder Spalte ist ein Datentyp zugeordnet, der die Art der Daten definiert, die gespeichert werden können, z. B. Zahlen, Zeichenfolgen oder zeitliche Daten.
Um eine neue Tabelle zu erstellen, verwenden Sie die Anweisung CREATE TABLE
wie folgt:
Code language: SQL (Structured Query Language) (sql)CREATE TABLE table_name ( pk_column data_type PRIMARY KEY, column_1 data_type NOT NULL, column_2 data_type, ..., table_constraints);
In dieser Syntax:
- Geben Sie zunächst den Namen der Datenbank an, in der die Tabelle erstellt wird. Die
database_name
muss der Name einer vorhandenen Datenbank sein. Wenn Sie es nicht angeben, verwendetdatabase_name
standardmäßig die aktuelle Datenbank. - Zweitens geben Sie das Schema an, zu dem die neue Tabelle gehört.
- Drittens geben Sie den Namen der neuen Tabelle an.Viertens sollte jede Tabelle einen Primärschlüssel haben, der aus einer oder mehreren Spalten besteht. In der Regel listen Sie zuerst die Primärschlüsselspalten und dann andere Spalten auf. Wenn der Primärschlüssel nur eine Spalte enthält, können Sie die Schlüsselwörter
PRIMARY KEY
nach dem Spaltennamen verwenden. Wenn der Primärschlüssel aus zwei oder mehr Spalten besteht, müssen Sie diePRIMARY KEY
Einschränkung als Tabelleneinschränkung angeben. Jeder Spalte ist nach ihrem Namen in der Anweisung ein Datentyp zugeordnet. Eine Spalte kann eine oder mehrere Spaltenbeschränkungen haben, z. B.NOT NULL
undUNIQUE
. - Fünftens kann eine Tabelle einige Einschränkungen enthalten, die im Abschnitt Tabelleneinschränkungen angegeben sind, z. B.
FOREIGN KEY
PRIMARY KEY
UNIQUE
undCHECK
.
Beachten Sie, dass CREATE TABLE
komplex ist und mehr Optionen als die obige Syntax bietet. In den folgenden Tutorials stellen wir Ihnen nach und nach die einzelnen Optionen vor.
SQL Server CREATE TABLE example
Die folgende Anweisung erstellt eine neue Tabelle mit dem Namen sales.visits
, um die Besuche des Kunden im Geschäft zu verfolgen:
Code language: SQL (Structured Query Language) (sql)CREATE TABLE sales.visits ( visit_id INT PRIMARY KEY IDENTITY (1, 1), first_name VARCHAR (50) NOT NULL, last_name VARCHAR (50) NOT NULL, visited_at DATETIME, phone VARCHAR(20), store_id INT NOT NULL, FOREIGN KEY (store_id) REFERENCES sales.stores (store_id));
In diesem Beispiel:
Da wir den Namen der Datenbank, in der die Tabelle erstellt wird, nicht explizit angeben, wird die Visits-Tabelle in der BikeStores
Datenbank. Für das Schema geben wir es explizit an, daher wird die visits-Tabelle im sales-Schema erstellt.
Die visits
Tabelle enthält sechs Spalten:
- Die
visit_id
Spalte ist die Primärschlüsselspalte der Tabelle.IDENTITY(1,1)
weist SQL Server an, automatisch ganzzahlige Zahlen für die Spalte zu generieren, die bei eins beginnen und für jede neue Zeile um eins zunehmen. - Die
first_name
undlast_name
Spalten sind Zeichenfolgenspalten vom TypVARCHAR
. In diesen Spalten können bis zu 50 Zeichen gespeichert werden. - Die
visited_at
ist eineDATETIME
Spalte, die das Datum und die Uhrzeit aufzeichnet, zu der der Kunde den Laden besucht. - Die
phone
Spalte ist eine variierende Zeichenkettenspalte, dieNULL
akzeptiert. - In der Spalte
store_id
werden die Identifikationsnummern gespeichert, die das Geschäft identifizieren, das der Kunde besucht hat. - Am Ende der Tabellendefinition befindet sich eine
FOREIGN KEY
Einschränkung. Dieser Fremdschlüssel stellt sicher, dass die Werte in der Spaltestore_id
der Tabellevisits
in der Spaltestore_id
in der Tabellestores
verfügbar sein müssen. Im nächsten Tutorial erfahren Sie mehr über dieFOREIGN KEY
-Einschränkung.
In diesem Tutorial haben Sie gelernt, wie Sie die SQL Server-Anweisung CREATE TABLE
verwenden, um eine neue Tabelle in einer Datenbank zu erstellen.