Dieser Artikel erläutert den SQL Spalte hinzufügen-Vorgang in eine bestehende SQL Tabelle. Wir werden auch verschiedene Beispiele für SQL-Spaltenoperationen untersuchen.

Manchmal möchten wir einer vorhandenen Tabelle Spalten hinzufügen. In vorhandenen Tabellen könnten Datensätze enthalten sein. Wir wollen auch keine vorhandenen Daten verlieren. Unter vielen Umständen können wir die Tabellen löschen und neu erstellen, dies wird jedoch im Allgemeinen nicht empfohlen, insbesondere in einer Produktionsumgebung, da dies destruktiv sein kann, da es sich um Daten handelt., Wir können immer noch eine SQL-Spaltenoperation mit dem Befehl Alter Table ausführen, wodurch vermieden wird, dass Tabellen gelöscht und Daten gelöscht werden müssen, wenn auch nur vorübergehend.

Syntax

Wir können eine SQL-Spaltenoperation für eine Tabelle mit dem folgenden transact SQL-Befehl ausführen.,

1
2

ALTER TABLE table_name
ADD column_name column_definition;

Bereiten Sie die Umgebung vor

Wir müssen eine Datenbanktabelle auswählen und Daten einfügen.

Führen Sie die folgende Abfrage aus, um eine Employee-Tabelle in der SQLShackDemo-Datenbank zu erstellen.

Führen Sie die folgende Abfrage aus, um Beispieldaten einzufügen.,

Im folgenden Screenshot sehen wir die vorhandenen Daten in der Employee-Tabelle.

SQL-Spaltenoperation zu einer vorhandenen SQL-Tabelle hinzufügen

Wir möchten die Spaltenabteilung in die Mitarbeitertabelle einfügen. Angenommen, wir haben viele Spalten in einer Tabelle; Wir müssen überprüfen, ob eine bestimmte Spalte in der SQL-Tabelle vorhanden ist oder nicht. Wenn die angegebene Spalte nicht vorhanden ist, möchten wir sie mit dem entsprechenden Datentyp erstellen.

Mit der Ansicht INFORMATION_SCHEMA können wir Tabellen und deren Spalten in einer Datenbank überprüfen., Führen Sie den folgenden Code aus, um eine Liste der Spalten und deren Datentyp in der Employee-Tabelle abzurufen.

In dieser Ausgabe sehen wir, dass die Employee-Tabelle 4 Spalten enthält.

Fügen wir mit dem folgenden Befehl Alter Table eine neue Spaltenabteilung hinzu.,

1
2

ALTER TABLE Employee
ADD-Abteilung Varchar(50)

diese Abfrage Ausführen und wählen Sie Datensätze aus der Tabelle Employee. Im folgenden Screenshot können wir uns die neue Spaltenabteilung ansehen. Alle vorhandenen Datensätze enthalten einen Nullwert in dieser Spalte.,

Zuvor haben wir alle Spalten in der Employee-Tabelle mit der Ansicht INFORMATION_SCHEMA überprüft. In der folgenden Abfrage möchten wir nur dann eine Abteilungstabelle erstellen, wenn sie in der Employee-Tabelle nicht vorhanden ist.,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,COLUMNS
WHERE TABLE_NAME = ‚Employee‘
AND COLUMN_NAME = ‚Department‘
)
BEGIN
ALTER TABLE Employee
ADD Department VARCHAR(50);
END;

We kann einer vorhandenen Tabelle eine Spalte hinzufügen, wenn Nullwerte zulässig sind oder ein Standardwert definiert ist., We can try to add Not NULL column in the existing SQL table, but it gives the following error message,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,SPALTEN
WHERE TABLE_NAME = ‚Mitarbeiter‘
AND COLUMN_NAME = ‚Telefon‘
)
BEGIN
ALTER TABLE Employee
Telefon HINZUFÜGEN VARCHAR(15) not NULL;
END;

SQL Spalte hinzufügen-operation, um einen vorhandenen SQL-Tabelle mit einem Standardwert

nehmen wir an, wir möchten, um die Spalte hinzuzufügen IsActive-Spalte in der Employee-Tabelle., Wir können die folgenden Werte in dieser Spalte haben

  • Wert 1: Mitarbeiter ist aktiv
  • Wert 0: Mitarbeiter ist nicht aktiv

Standardmäßig sollten alle vorhandenen und neuen Mitarbeiter haben Wert 1 in isActive Spalte. Wir können einen Wert mit der Standardbeschränkung angeben.,

If we try to add a column with a Not NULL value in the existing SQL table, we get following error message,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,SPALTEN
WHERE TABLE_NAME = ‚Mitarbeiter‘
AND COLUMN_NAME = ‚Telefon‘
)
BEGIN
ALTER TABLE Employee
HINZUFÜGEN IsActive bit DEFAULT(1);
END;

diese Abfrage Ausführen und Wählen Sie Datensätze aus einer Tabelle. Bei vorhandenen Datensätzen werden die Standardwerte nicht aktualisiert.

Wenn wir einen neuen Datensatz in diese Tabelle einfügen, erhält er den Standardwert gemäß dem folgenden Screenshot.,

SQL Spalte hinzufügen-operation, um einen vorhandenen SQL-Tabelle mit einer identity-Spalte

In SQL Server können wir verwenden Sie den Identity-Funktion definiert einen Standard, und auto-increment-Wert für jede neue Zeile. Wir können der vorhandenen SQL-Tabelle auch eine Identitätsspalte hinzufügen. Erstellen wir eine neue Tabelle Employee_new ohne Identitätsspalte.

Sobald die Tabelle vorhanden ist, können wir mit der folgenden Abfrage eine Identitätsspalte hinzufügen.,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,SPALTEN
WHERE TABLE_NAME = ‚Employee_new‘
AND COLUMN_NAME = ‚ID‘
)
BEGIN
ALTER TABLE Employee_new
ADD ID INT IDENTITY(1,1) not NULL
END;

Wir haben die Identity-Spalte in einer Tabelle, ohne dass ein Datensatz in es. Lassen Sie uns den Tisch fallen und neu erstellen. Fügen Sie einige Datensätze mit der folgenden Abfrage ein.

Wir haben Daten in der Tabelle Employee_new. Fügen wir mit dem Befehl Alter table eine Identitätsspalte hinzu.,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,SPALTEN
WHERE TABLE_NAME = ‚Employee_new‘
AND COLUMN_NAME = ‚ID‘
)
BEGIN
ALTER TABLE Employee_new
ADD ID INT IDENTITY(1,1) not NULL
END;

Im folgenden screenshot können wir sehen es updates zu vorhandenen Datensätzen als gut.

Mehrere SQL-Spaltenoperationen für eine vorhandene SQL-Tabelle mit einer Identitätsspalte hinzufügen

Möglicherweise müssen Sie einer vorhandenen SQL-Tabelle mehrere Spalten hinzufügen., Wir können es innerhalb desselben Alter table Befehls tun.

In der folgenden Abfrage haben wir zwei Spalten hinzugefügt ZipCode und StateCode in einem einzigen Alter Table Befehl. Wir müssen alle Spalten angeben, die in einem ähnlichen Format hinzugefügt werden sollen.,

1
2
3
4

ALTER TABLE Employee_new
ADD ZipCode INT NULL,
StateCode INT NULL;
GO

We can get details of all columns and their properties using sp_help command.,

1
sp_help ‚Employee_new‘

SQL Spalte hinzufügen-operation, um einen vorhandenen SQL-Tabelle mit dem Tabellen-designer in SSMS

In den vorherigen Beispielen, wir verwendet t-SQL zum hinzufügen von Spalten in der vorhandenen Tabelle. Wir sind möglicherweise nicht mit dem Schreiben von T-SQL-Code vertraut. Wir können auch die SSMS-GUI verwenden, um eine Spalte hinzuzufügen.,

Klicken Sie mit der rechten Maustaste auf die Tabelle und dann auf Design.

Es öffnet sich ein Tisch-designer. Wir können alle vorhandenen Spalten, ihre Datentypen, Standardwerte und andere Eigenschaften für eine angegebene Tabelle in einem Tabellendesigner anzeigen

Geben Sie einen Spaltennamen an und wählen Sie Datentypen aus der Dropdown-Liste aus. Wir können mehrere Spalten mit entsprechenden Datentypen hinzufügen.

Speichern und beenden Sie anschließend den Tabellendesigner in SSMS., Wenn Sie versuchen, es zu schließen, ohne Änderungen zu speichern, erhalten wir auch eine Warnmeldung.

Klicken Sie auf Ja, um eine neue Spalte in der vorhandenen Tabelle zu speichern. Wir können entweder eine Select-Anweisung ausführen, um die neue Spalte zu überprüfen, oder den Befehl sp_help verwenden, um alle Spalten und ihre Eigenschaften aufzulisten.

1
sp_help ‚Mitarbeiter.,‘

Im folgenden screenshot können wir sehen, eine neue Spalte in der Employee-Tabelle.

Schlussfolgerung

In diesem Artikel haben wir SQL-Spaltenoperationen untersucht, um einer vorhandenen SQL-Tabelle eine neue Spalte hinzuzufügen. Wir können dazu sowohl die GUI-als auch die Transact SQL-Methode verwenden. Ich hoffe, Sie fanden diesen Artikel hilfreich. Sie können Feedback oder Kommentare im Kommentarbereich unten geben.,

  • Author
  • Recent Posts
Als MCSA-zertifizierter und Microsoft-zertifizierter Trainer in Gurgaon, Indien, mit 13 Jahren Erfahrung, Rajendra arbeitet für eine Vielzahl von großen unternehmen mit Schwerpunkt auf Leistungsoptimierung, Überwachung, hohe Verfügbarkeit, und Disaster Recovery Strategien und Umsetzung., Er ist Autor von Hunderten von maßgeblichen Artikeln zu SQL Server, Azure, MySQL, Linux, Power BI, Performance Tuning, AWS/Amazon RDS, Git und verwandten Technologien, die bisher von über 10 millionen Lesern angesehen wurden.
Er ist der Schöpfer einer der größten kostenlosen Online-Sammlungen von Artikeln zu einem einzigen Thema, mit seiner 50-teiligen Serie auf SQL Server Immer auf Verfügbarkeitsgruppen. Aufgrund seines Beitrags zur SQL Server-Community wurde er 2020 und 2021 kontinuierlich mit verschiedenen Preisen ausgezeichnet, darunter mit dem renommierten „Best Author of the year“ bei SQLShack.,
Raj ist immer an neuen Herausforderungen interessiert, wenn Sie also Beratungshilfe zu einem Thema benötigen, das in seinen Schriften behandelt wird, kann er bei Rajendra erreicht werden.gupta16@gmail.,com
Alle Beiträge von Rajendra Gupta anzeigen

Neueste Beiträge von Rajendra Gupta (alle anzeigen)
  • Kleinere und größere Versionsupgrades für AWS RDS SQL Server durchführen – 29. /li>
  • Migrieren Ihrer lokalen SQL – Datenbanken mit AWS DMS auf AWS RDS SQL Server-25. Januar 2021