SQL Server CREATE-, ALTER-, DROP-Tabelle [T-SQL-Beispiele]

โšก Intelligente Zusammenfassung

SQL-Server-Tabellen speichern Daten in Zeilen und Spalten. Transact-SQL verwendet CREATE TABLE zum Erstellen einer Tabelle, ALTER TABLE zum Hinzufรผgen oder ร„ndern von Spalten und DROP TABLE zum Lรถschen der Tabelle, ihrer Daten und ihrer Struktur.

  • ๐Ÿงฑ Was ist ein Tisch? Eine Tabelle speichert Daten in Zeilen und Spalten und ist das grundlegende Objekt zur Speicherung von Daten in einer Datenbank.
  • ๏ธ TABELLE ERSTELLEN: Die CREATE TABLE-Anweisung definiert jede Spalte mit einem Namen, einem Datentyp und einer NULL- oder NOT NULL-Einstellung.
  • ๐Ÿ“‹ Aus Vorhandenem erstellen: SELECT โ€ฆ INTO kopiert ausgewรคhlte Spalten und Zeilen aus einer bestehenden Tabelle in eine brandneue Tabelle.
  • โž• TABELLE ร„NDERN: ALTER TABLE โ€ฆ ADD fรผgt einer Tabelle neue Spalten hinzu, ohne sie neu zu erstellen.
  • ๐Ÿ—‘๏ธ DROP TABLE: DROP TABLE lรถscht die gesamte Tabelle, einschlieรŸlich ihrer Daten und ihrer Struktur.
  • ๐Ÿ–ฑ๏ธ Tischdesigner: Mit dem SQL Server Management Studio kรถnnen Tabellen auch visuell รผber den Tabellendesigner erstellt und geรคndert werden.

SQL Server: Tabellen erstellen, รคndern und lรถschen โ€“ Beispiele mit T-SQL

Was ist eine Tabelle?

Eine Tabelle ist ein Objekt in SQL Server Diese Methode speichert Daten in einem Zeilen- und Spaltenformat. Das folgende Diagramm zeigt die Zeilen bzw. Spalten.

Diagramm einer Tabelle, die Daten in Zeilen und Spalten speichert

So erstellen Sie eine Tabelle in SQL Server mit T-SQL

Der erste Schritt zur Datenspeicherung besteht darin, eine Tabelle im Datenbank Hier werden die Daten gespeichert. Nachdem die Tabelle erstellt wurde, kรถnnen Sie beliebig viele Zeilen einfรผgen.

Sie kรถnnen eine Tabelle auf folgende Weise erstellen:

  • T-SQL: Erstellen einer neuen Tabelle durch Definition aller Spalten und ihrer Datentypen.
  • T-SQL: Erstellen einer neuen Tabelle mithilfe einer bestehenden Tabelle.
  • Verwendung des Tabellendesigners.

Lasst uns dies im Detail untersuchen.

T-SQL: Erstellen einer neuen Tabelle durch Definieren aller Spalten und ihrer Datentypen

Nachfolgend finden Sie die Syntax zum Erstellen einer Tabelle in SQL Server.

Syntax:

CREATE TABLE tableName
( 
  column_1 datatype [ NULL | NOT NULL ],
  column_2 datatype [ NULL | NOT NULL ],
  ...
);

Dabei steht:

  • Der Parameter tableName gibt den Namen der Tabelle an, die Sie erstellen mรถchten.
  • Die Parameter Spalte_1, Spalte_2โ€ฆ bezeichnen die Spalten, die der Tabelle hinzugefรผgt werden sollen.
  • Eine Spalte muss entweder als NULL oder NOT NULL angegeben werden. Wenn Sie keine Angabe machen, verwendet SQL Server standardmรครŸig NULL.

Erstellen wir eine einfache Tabelle mit zwei Spalten.

Abfrage:

CREATE TABLE COURSE
(
Course_ID Int,
Course_Name Varchar(10)
)

Voraussetzung: Wรคhlen Sie die Datenbank aus, in der Sie die Tabelle erstellen mรถchten.

Schritt 1) Klicken Sie auf โ€žAusfรผhrenโ€œ, um die Abfrage zu starten. Vor dem Ausfรผhren der Abfrage ist keine Tabelle vorhanden, wie unten dargestellt.

Der Objekt-Explorer zeigt vor der Ausfรผhrung der CREATE-Anweisung keine Kurstabelle an.

Nach Ausfรผhrung der Abfrage klicken Sie auf die Schaltflรคche โ€žAktualisierenโ€œ. Die neue Tabelle heiรŸt nun โ€žKursโ€œ und wird wie unten dargestellt angezeigt.

Die Kurstabelle wird nach der Ausfรผhrung und Aktualisierung im Objekt-Explorer angezeigt.

Schritt 2) Fรผgen Sie einige Daten ein. Die folgenden Screenshots zeigen die neu erstellte Tabelle โ€žKursโ€œ, die bereit ist, Zeilen aufzunehmen.

Die neu erstellte Kurstabelle wurde im Objekt-Explorer ausgewรคhlt, bevor die Daten eingefรผgt wurden.

Kurstabellenstruktur mit ihren zwei Spalten vor dem Einfรผgen der Daten

Bis jetzt existiert die Tabelle nur, sie enthรคlt aber noch keine Daten.

Transact-SQL bietet die INSERT-Anweisung zum Einfรผgen von Daten in eine Tabelle. Mit dieser Anweisung kรถnnen Sie eine oder mehrere Zeilen in eine Tabelle einfรผgen.

Syntax:

INSERT INTO tableName
(column_1, column_2, ... )
VALUES
(expression_1, expression_2, ... ),
(expression_1, expression_2, ... ),
...;

Die obige Syntax zeigt die Grundform des Befehls, wenn das Schlรผsselwort VALUES verwendet wird, um Daten in eine Tabelle einzufรผgen.

Fรผgen wir nun vier Zeilen mit dem Befehl INSERT ein.

Insert into COURSE values (1,'SQL');
Insert into COURSE values (2,'Python');
Insert into COURSE values (3,'SQL');
Insert into COURSE values (4,'C');

Die folgende Momentaufnahme zeigt, dass das Einfรผgen von vier Zeilen erfolgreich war.

Meldungsbereich bestรคtigt das Einfรผgen von vier Zeilen in die Kurstabelle

Schritt 3) Verwenden Sie die SELECT-Anweisung, um die Daten anzuzeigen. Um Daten in SQL Server anzuzeigen, verwenden Sie die folgende Syntax:

SELECT expression
FROM tableName
[WHERE condition];

Beispielabfrage:

SELECT * FROM COURSE;

Die Tabelle wurde erstellt und enthรคlt nun vier Datensรคtze. Beachten Sie, dass Datensรคtze mit doppelten Werten in beliebigen Spalten erstellt werden kรถnnen, da keine doppelten Werte vorhanden sind. Einschrรคnkungen.

Ergebnisraster mit den vier von SELECT zurรผckgegebenen Kurszeilen

T-SQL: Erstellen einer neuen Tabelle mithilfe einer vorhandenen Tabelle

Angenommen, Sie mรถchten eine weitere Tabelle wie die oben erstellte Tabelle COURSE, benรถtigen aber nur die Spalte Course_Name und nicht Course_ID.

Syntax:

SELECT (Column 1, โ€ฆ) INTO <New Table name> FROM <Old Table name>;

Beispielabfrage:

SELECT COURSE_NAME INTO COURSE_NAMES FROM COURSE;

Schritt 1) Fรผhren Sie die Abfrage durch Klicken auf โ€žAusfรผhrenโ€œ aus. Es wird eine neue Tabelle namens COURSE_NAMES mit einer Spalte und vier Datensรคtzen erstellt, die aus der รคlteren Tabelle kopiert wurden, wie unten dargestellt.

Eine neue Tabelle COURSE_NAMES wurde aus einer bestehenden Tabelle mit SELECT INTO erstellt.

Beispielabfrage:

SELECT * FROM COURSE_NAMES;

Das Ergebnis unten listet die vier Course_Name-Datensรคtze in der neuen Tabelle COURSE_NAMES auf.

Ergebnisraster mit Anzeige der Course_Name-Werte in der Tabelle COURSE_NAMES

Verwenden des Tabellendesigners

Sie kรถnnen auch eine Tabelle aus dem SQL Server Management Studio IDE mit Tabellendesigner.

Schritt 1) Klicken Sie mit der rechten Maustaste auf Tabelle > Neu > Tabelle, wie unten dargestellt.

Klicken Sie mit der rechten Maustaste auf โ€žTabelleโ€œ, dann auf โ€žNeuโ€œ und anschlieรŸend im Objekt-Explorer auf โ€žTabelleโ€œ.

Schritt 2) Geben Sie die Spaltennamen ein und Datentypenund wรคhlen Sie aus, ob in jeder Spalte Nullwerte zulรคssig sind.

Tabellendesigner-Werkzeugleiste zum Definieren einer neuen Tabelle

Tabellendesigner-Raster mit Spaltennamen, Datentypen und der Option "Nullwerte zulassen"

Schritt 3) Drรผcken Sie STRG+S, um die Tabelle zu speichern, und geben Sie als Namen Course_Title ein.

Wรคhlen Sie im Dialogfeld โ€žNameโ€œ die Option, die neue Tabelle unter dem Namen โ€žKurs_Titelโ€œ zu speichern.

Nach dem Klicken auf Aktualisieren erscheint die neue Tabelle mit dem Namen Course_Title und einer Spalte namens Course_Name, wie unten dargestellt.

Tabelle โ€žCourse_Titleโ€œ mit einer einzelnen Spalte โ€žCourse_Nameโ€œ im Objekt-Explorer

Tabelle in SQL Server รคndern

Es gibt zwei Mรถglichkeiten, eine Tabelle in SQL Server zu รคndern:

  • T-SQL: Die Tabelle durch Hinzufรผgen neuer Spalten รคndern.
  • Verwendung des Tabellendesigners.

T-SQL: Tabelle durch Einfรผgen von Spalten รคndern

Nachfolgend die Syntax des ALTER-Befehls in SQL:

Syntax:

 Alter TABLE <Table name> ADD Column1 datatype, Column2 datatype;

Abfrage:

ALTER TABLE dbo.Course_Title ADD Course_Duration VARCHAR(20);

Schritt 1) Fรผhren Sie die Abfrage durch, indem Sie auf โ€žAusfรผhrenโ€œ klicken. In der Tabelle โ€žCourse_Titleโ€œ existiert nun eine neue Spalte mit dem Namen โ€žCourse_Durationโ€œ, wie unten dargestellt.

Mit der ALTER TABLE ADD-Anweisung wird die Spalte Course_Duration hinzugefรผgt.

Die Spalten โ€žKurstitelโ€œ einschlieรŸlich der neu hinzugefรผgten Spalte โ€žKursdauerโ€œ

Verwenden des Tabellendesigners

Sie kรถnnen eine Tabelle auch รผber die Benutzeroberflรคche mithilfe des Tabellendesigners รคndern.

Schritt 1) Klicken Sie mit der rechten Maustaste auf die vorhandene Tabelle > Entwurf, wie unten dargestellt.

Klicken Sie mit der rechten Maustaste auf die Tabelle โ€žCourse_Titleโ€œ und wรคhlen Sie โ€žDesignโ€œ.

Schritt 2) Fรผgen Sie den Spaltennamen Course_Start_Date hinzu und wรคhlen Sie den entsprechenden Datentyp aus.

Hinzufรผgen der Spalte โ€žCourse_Start_Dateโ€œ und ihres Datentyps im Tabellendesigner

Schritt 3) Drรผcken Sie Strg+S, um die neu hinzugefรผgte Spalte zu speichern. In der Tabelle โ€žKurstitelโ€œ wird eine neue Spalte mit dem Namen โ€žKursstartdatumโ€œ erstellt, wie unten dargestellt.

Tabelle โ€žCourse_Titleโ€œ mit der gespeicherten Spalte โ€žCourse_Start_Dateโ€œ.

Tabelle in SQL Server lรถschen

Eine Tabelle wird gelรถscht, wenn sie nicht mehr benรถtigt wird.

Es gibt zwei Mรถglichkeiten, eine Tabelle in SQL Server zu lรถschen:

  • Verwendung von SQL Server Management Studio.
  • T-SQL: Lรถschen Sie die Tabelle mit DROP TABLE.

Verwenden von SQL Server Management Studio

Schritt 1) Klicken Sie mit der rechten Maustaste auf die vorhandene Tabelle > Lรถschen fรผr die Tabelle mit dem Namen Course_Title, wie unten dargestellt.

Klicken Sie mit der rechten Maustaste auf die Tabelle โ€žCourse_Titleโ€œ und wรคhlen Sie โ€žLรถschenโ€œ.

Schritt 2) Klicken Sie im Fenster โ€žObjekt lรถschenโ€œ auf OK.

Bestรคtigungsfenster zum Lรถschen des Objekts mit der Schaltflรคche โ€žOKโ€œ

Die Tabelle Course_Title wurde nun aus der Tabellenliste gelรถscht, wie unten dargestellt.

Objekt-Explorer-Tabellenliste nach dem Lรถschen der Tabelle โ€žCourse_Titleโ€œ

T-SQL: Tabelle lรถschen

Nachfolgend die Syntax zum Lรถschen einer Tabelle.

Syntax:

DROP TABLE <tableName>;

Der Parameter tableName ist der Name der Tabelle, die gelรถscht werden soll.

Abfrage:

DROP TABLE COURSE_NAMES;

Schritt 1) Fรผhren Sie die Abfrage durch, indem Sie auf โ€žAusfรผhrenโ€œ klicken. Die Tabelle COURSE_NAMES wird, wie unten dargestellt, aus der Tabellenliste gelรถscht.

Die DROP TABLE-Anweisung entfernt die Tabelle COURSE_NAMES.

Objekt-Explorer-Tabellenliste nach dem Lรถschen der Tabelle COURSE_NAMES

Alternativ zeigt der Quellcode einen DELETE TABLE-Befehl, der dazu dient, nur Zeilen (Daten) zu entfernen, wรคhrend die Tabellenstruktur intakt bleibt, sodass die Tabelle spรคter wiederverwendet werden kann.

Syntax:

DELETE TABLE <Table name>;

Hinweis: In Standard-T-SQL werden Zeilen entfernt mit DELETE FROM <table>und ein Tisch wird schnell abgerรคumt mit TRUNCATE TABLE <table>Die gesamte Tabelle wird mit DROP TABLE gelรถscht, wie oben gezeigt.

Interessante Fakten!

  • GroรŸe Dateien wie XML-Dateien oder Bilder kรถnnen in einer Spalte mithilfe von Datentypen fรผr groรŸe Objekte wie VARBINARY(MAX), VARCHAR(MAX) oder dem XML-Typ gespeichert werden (SQL Server verwendet diesen Typ nicht). Oracle(BLOB- und CLOB-Namen im Stil von BLOB und CLOB).
  • DELETE entfernt nur Zeilen und kann innerhalb einer Transaktion rรผckgรคngig gemacht werden, wรคhrend DROP die gesamte Tabellenstruktur lรถscht; in SQL Server kann sogar DROP rรผckgรคngig gemacht werden, wenn es innerhalb einer expliziten Transaktion ausgefรผhrt wird.

Hรคufig gestellte Fragen

DELETE lรถscht ausgewรคhlte Zeilen und wird vollstรคndig protokolliert. TRUNCATE lรถscht schnell alle Zeilen und setzt die Identitรคtswerte zurรผck. DROP lรถscht die gesamte Tabelle, ihre Daten und ihre Struktur. In SQL Server kรถnnen alle drei Aktionen innerhalb einer expliziten Transaktion rรผckgรคngig gemacht werden.

Verwenden Sie DROP TABLE IF EXISTS Tabellenname (verfรผgbar ab SQL Server 2016). Diese Anweisung lรถscht die Tabelle, falls vorhanden, und bewirkt nichts, falls sie nicht existiert. Dadurch wird ein Fehler vermieden. Bei รคlteren Versionen prรผfen Sie vor dem Lรถschen die OBJECT_ID.ping.

SQL Server kennt keine RENAME TABLE-Anweisung. Verwenden Sie stattdessen die Systemprozedur sp_rename, z. B. EXEC sp_rename 'old_name', 'new_name'. Aktualisieren Sie anschlieรŸend abhรคngige Sichten, Prozeduren und Code, da sp_rename diese Verweise nicht automatisch รคndert.

Ja. Mit `ALTER TABLE table ALTER COLUMN column new_type` wird der Datentyp einer Spalte geรคndert, mit `ALTER TABLE table DROP COLUMN column` wird sie entfernt. Die ร„nderung ist nur erfolgreich, wenn die vorhandenen Daten kompatibel sind. Testen Sie daher vorher die Konvertierungen und erstellen Sie eine Sicherungskopie.

Definieren Sie Einschrรคnkungen innerhalb von CREATE TABLE, z. B. Course_ID INT PRIMARY KEY, oder fรผgen Sie sie spรคter mit ALTER TABLE ADD CONSTRAINT hinzu. Primรคrschlรผssel erzwingt Einzigartigkeit, wรคhrend ein Fremdschlรผssel Verknรผpft Zeilen รผber Tabellen hinweg.

Eine temporรคre Tabelle, deren Name mit einem #-Prรคfix beginnt, wird in tempdb erstellt und nach Beendigung der Sitzung automatisch gelรถscht. Eine regulรคre Tabelle bleibt so lange bestehen, bis sie gelรถscht wird. Temporรคre Tabellen eignen sich fรผr kurzlebige Zwischenergebnisse innerhalb eines Batches oder einer Prozedur.

Ja. GitHub-Copilot Es kann CREATE-, ALTER- und DROP-TABLE-Skripte anhand von natรผrlichsprachlichen Eingabeaufforderungen generieren und Spalten, Datentypen und Einschrรคnkungen vorschlagen. รœberprรผfen Sie stets das generierte Schema, die Schlรผssel und die Nullwertzulรคssigkeit, bevor Sie es in der Produktionsumgebung einsetzen.

KI- und Machine-Learning-Tools empfehlen Tabellenstrukturen, Datentypen und Indizes anhand von Beispieldaten und Abfragemustern, kennzeichnen redundante oder รผbergroรŸe Spalten und warnen vor riskanten DROP- oder ALTER-Operationen. Der Entwickler bestรคtigt jeden Vorschlag, bevor er angewendet wird.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: