Dit artikel legt de SQL kolombewerking toevoegen aan een bestaande SQL-tabel uit. We zullen ook verschillende voorbeelden van SQL Add column operaties verkennen.
soms willen we kolommen toevoegen aan een bestaande tabel. In bestaande tabellen, kunnen we records in het hebben. We willen ook geen bestaande gegevens verliezen. In veel omstandigheden kunnen we de tabellen laten vallen en opnieuw maken, maar dit wordt in het algemeen niet aanbevolen, vooral in een productieomgeving, omdat het destructief kan zijn als het gaat om gegevens., We kunnen nog steeds het uitvoeren van een SQL kolom toevoegen met behulp van Alter Table Commando, die vermijdt hebben om tabellen te laten vallen, gegevens te verwijderen, zelfs als alleen tijdelijk.
syntaxis
We kunnen een SQL-kolombewerking uitvoeren op een tabel met het volgende transact SQL-commando.,
1
2
|
ALTER TABLE tabelnaam
TOEVOEGEN column_name column_definition;
|
de Voorbereiding van de omgeving
We moeten selecteer een Database-tabel en de gegevens in te voegen in het.
Voer de volgende query uit om een Medewerkerstabel aan te maken in de sqlshackdemo-database.
Voer de volgende query uit om er voorbeeldgegevens in te voegen.,
in de volgende schermafbeelding kunnen we de bestaande gegevens in de Medewerkerstabel zien.
SQL kolombewerking toevoegen aan een bestaande SQL-tabel
we willen de kolomafdeling toevoegen aan de Medewerkerstabel. Stel dat we veel kolommen in een tabel hebben; we moeten controleren of een bepaalde kolom in de SQL-tabel bestaat of niet. Als de opgegeven kolom niet bestaat, willen we deze maken met het juiste gegevenstype.
We kunnen de information_schema-weergave gebruiken om tabellen en hun kolommen in een database te controleren., Voer de volgende code uit om een lijst met kolommen te krijgen, hun gegevenstype in Medewerkerstabel.
in deze uitvoer kunnen we zien dat de Medewerkerstabel 4 kolommen bevat.
laten we een nieuwe kolom-afdeling toevoegen met het volgende Alter Table Commando.,
1
2
|
ALTER TABLE Werknemer
TOEVOEGEN Afdeling Varchar(50)
|
het Uitvoeren van deze query en selecteert u de records uit de tabel Werknemers. In de volgende schermafbeelding kunnen we kijken naar de nieuwe kolomafdeling. Alle bestaande records bevatten een NULL-waarde in deze kolom.,
eerder hebben we alle kolommen in de Medewerkerstabel gecontroleerd met behulp van INFORMATIE_SCHEMA view. In de volgende query willen we alleen een Afdelingstabel maken als deze niet bestaat in de Medewerkerstabel.,
1
2
3
4
5
6
7
8
9
10
11
|
IF not EXISTS
(
SELECT *
VAN INFORMATION_SCHEMA.,Kolommen
waar TABLE_NAME = ‘werknemer’
en COLUMN_NAME = ‘afdeling’
)
BEGIN
ALTER TABLE Employee
voeg afdeling VARCHAR(50) toe;
END;
|
We kunnen een kolom in een bestaande tabel toevoegen als het null-waarden toestaat of als er een standaardwaarde op is gedefinieerd., 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.,KOLOMMEN
WHERE TABLE_NAME = ‘Werknemer’
EN COLUMN_NAME = ‘Telefoon’
)
BEGIN
ALTER TABLE Werknemer
Telefoon TOEVOEGEN VARCHAR(15) not NULL;
END;
|
SQL kolom toevoegen werking van een bestaande SQL-tabel met een standaard waarde
Stel je wilt toevoegen in de kolom IsActive kolom in de tabel Werknemer., We kunnen de volgende waarden hebben in deze kolom
- waarde 1: werknemer is actief
- waarde 0: werknemer is niet actief
standaard moet alle bestaande en nieuwe werknemer waarde 1 hebben in de kolom IsActive. We kunnen een waarde opgeven met standaardbeperking.,
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.,Kolommen
waar TABLE_NAME = ‘werknemer’
en COLUMN_NAME = ‘telefoon’
)
BEGIN
ALTER TABLE Employee
ADD IsActive bit DEFAULT(1);
END;
|
voer deze query uit en selecteer records uit een tabel. Voor bestaande records worden de standaardwaarden niet bijgewerkt.
als we een nieuw record in deze tabel invoegen, krijgt het de standaardwaarde volgens de volgende schermafbeelding.,
SQL kolombewerking toevoegen aan een bestaande SQL-tabel met een identiteitskolom
In SQL Server gebruiken we de identiteits-functie om een standaardwaarde en automatische incrementwaarde voor elke nieuwe rij te definiëren. We kunnen ook een identiteitskolom toevoegen aan de bestaande SQL-tabel. Laten we een nieuwe tabel Employee_new maken zonder een identiteitskolom.
zodra de tabel er is, kunnen we een identiteitskolom toevoegen met de volgende query.,
1
2
3
4
5
6
7
8
9
10
11
|
IF not EXISTS
(
SELECT *
VAN INFORMATION_SCHEMA.,Kolommen
waar TABLE_NAME = ‘Employee_new’
en COLUMN_NAME = ‘ID’
)
BEGIN
ALTER TABLE Employee_new
id int IDENTITY(1,1) NOT NULL
END;
|
we hebben de kolom identiteit in een tabel zonder record gemaakt. Laten we de tafel laten vallen en opnieuw maken. Voeg een paar records in met de volgende query.
we hebben gegevens in de nieuwe tabel voor werknemers. Laten we een identiteit kolom toevoegen met Alter table Commando.,
1
2
3
4
5
6
7
8
9
10
11
|
IF not EXISTS
(
SELECT *
VAN INFORMATION_SCHEMA.,Kolommen
waar TABLE_NAME = ‘Employee_new’
en COLUMN_NAME = ‘ID’
)
BEGIN
ALTER TABLE Employee_new
id int IDENTITY(1,1) NOT NULL
END;
|
in de volgende schermafbeelding kunnen we zien dat het ook bestaande records bijwerkt.
meerdere SQL kolombewerkingen toevoegen voor een bestaande SQL-tabel met een identiteitskolom
mogelijk moeten we meerdere kolommen toevoegen aan een bestaande SQL-tabel., We kunnen het doen binnen hetzelfde Alter table Commando.
in de volgende query, we toegevoegd twee kolommen ZipCode en StateCode in een enkele Alter Table Commando. We moeten alle kolommen opgeven om toe te voegen in een vergelijkbaar formaat.,
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 kolom toevoegen werking van een bestaande SQL-tabel met de tabel ontwerper in SSMS
In de vorige voorbeelden, we t-SQL om kolommen toe te voegen in de bestaande tabel. We zijn misschien niet bekend met het schrijven van T-SQL code. We kunnen de SSMS GUI ook gebruiken om een kolom toe te voegen.,
Klik met de rechtermuisknop op de tabel en klik op Design.
het opent een tabelontwerper. We kunnen alle bestaande kolommen, hun gegevenstypen, standaardwaarden en andere eigenschappen voor een opgegeven tabel zien in een tabelontwerper
Geef een kolomnaam en selecteer gegevenstypen in de vervolgkeuzelijst. We kunnen meerdere kolommen toevoegen met de juiste gegevenstypen.
zodra u klaar bent, slaat u de tabelontwerper op en verlaat u deze in SSM ‘ s., Als u het probeert te sluiten zonder wijzigingen op te slaan, krijgen we ook een waarschuwingsbericht.
klik op Ja om een nieuwe kolom in de bestaande tabel op te slaan. We kunnen een SELECT statement uitvoeren om de nieuwe kolom te verifiëren of we kunnen de opdracht sp_help gebruiken om alle kolommen en hun eigenschappen te tonen.
1
|
sp_help ‘employee.,’
|
In de volgende schermafbeelding zien we een nieuwe kolom in de Medewerkerstabel.
conclusie
in dit artikel hebben we SQL kolombewerkingen onderzocht om een nieuwe kolom toe te voegen aan een bestaande SQL-tabel. We kunnen zowel de GUI en transact SQL methode gebruiken om het te doen. Ik hoop dat je dit artikel nuttig vond. U kunt feedback of opmerkingen geven in de commentaren hieronder.,
- Auteur
- Laatste Berichten
hij is de maker van een van de grootste gratis online collecties van artikelen over een enkel onderwerp, met zijn 50-delige serie op SQL Server Always On Availability Groups. Op basis van zijn bijdrage aan de SQL Server community, werd hij in 2020 en 2021 bij SQLShack onderscheiden met verschillende prijzen, waaronder de prestigieuze “beste auteur van het jaar”.,Raj is altijd geïnteresseerd in nieuwe uitdagingen, dus als je advies nodig hebt over een onderwerp dat in zijn geschriften wordt behandeld, kan hij worden bereikt in rajendra.gupta16@gmail.,com
Bekijk alle berichten van Rajendra Gupta
- Uitvoeren van kleine en grote versie-upgrades voor AWS RDS-SQL Server – januari 29, 2021
- het Implementeren van AWS RDS-PostgreSQL gevallen, 27 januari 2021
- het Migreren van uw lokale SQL-databases naar AWS RDS SQL Server met behulp van AWS DMS – januari 25, 2021