Denne artikkelen forklarer SQL legge til kolonnen drift i en eksisterende SQL-tabellen. Vi vil også utforske forskjellige eksempler av SQL legge til kolonnen operasjoner.

noen Ganger ønsker vi å legge til kolonner i en eksisterende tabell. I eksisterende tabeller, kanskje har vi oppføringer i den. Vi ønsker ikke å miste data som godt. I mange tilfeller kan vi slippe tabeller og gjenskape dem, men dette er ikke anbefalt generelt, spesielt i et produksjonsmiljø, som det kan være ødeleggende som det gjelder data., Vi kan fortsatt utføre en SQL-legg til-kolonnen operasjonen ved hjelp av Alter Table-kommandoen, som gjør at man unngår å slippe tabeller, slette data, selv om det bare er midlertidig.

Syntaks

Vi kan utføre en SQL-legg til-kolonnen drift på en tabell med følgende handle SQL-kommando.,

1
2

ENDRE TABELLEN table_name
LEGG til column_name column_definition;

Forberede miljøet

Vi trenger for å velge en Database bordet og sette data inn i det.

– Utfør følgende spørring til å opprette en Ansatt-tabellen i SQLShackDemo database.

– Utfør følgende spørring for å sette inn eksempeldata i det.,

I det følgende skjermbilde, vi kan se den eksisterende data i Ansatte-tabellen.

SQL-legg til-kolonnen drift på en eksisterende SQL tabell

Vi vil legge til kolonnen avdeling i Ansatte-tabellen. Anta at vi har mange kolonner i en tabell, må vi sjekke om en bestemt kolonne finnes i SQL bord eller ikke. Hvis den angitte kolonnen ikke finnes, vi ønsker å lage den med den riktige datatypen.

Vi kan bruke INFORMATION_SCHEMA vise til sjekk bord og deres kolonner i en database., Utfør følgende kode for å få en liste over kolonner, sine data type i Ansatte-tabellen.

I denne utgang, kan vi se den Ansatte-tabellen inneholder 4 kolonner.

La oss legge til en ny kolonne Avdeling med følgende Alter Table-kommandoen.,

1
2

ALTER TABLE Ansatt
LEGG til Avdeling Varchar(50)

– Utfør dette søket og velge oppføringer fra Ansatte-tabellen. I det følgende skjermbilde, kan vi se på den nye kolonnen Avdeling. Alle eksisterende poster inneholde en NULL-verdi i denne kolonnen.,

Tidligere, sjekket vi alle kolonner i Ansatte-tabellen ved hjelp INFORMATION_SCHEMA vise. I det følgende søket, vi ønsker å skape en Avdeling tabellen bare hvis den ikke finnes i Ansatte-tabellen.,

1
2
3
4
5
6
7
8
9
10
11

HVIS IKKE EKSISTERER
(
VELG *
FRA INFORMATION_SCHEMA.,KOLONNER
HVOR TABLE_NAME = ‘Ansatt’
OG COLUMN_NAME = ‘Avdeling’
)
BEGYNNER
ALTER TABLE Ansatt
LEGG til Avdeling VARCHAR(50);
END;

Vi kan legge til en kolonne i en eksisterende tabell, dersom dette tillater NULL-verdier eller har en standard verdi er definert på det., 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.,KOLONNER
HVOR TABLE_NAME = ‘Ansatt’
OG COLUMN_NAME = ‘Telefon’
)
BEGYNNER
ALTER TABLE Ansatt
LEGG til Telefon VARCHAR(15) Not NULL;
END;

SQL-legg til-kolonnen drift til en eksisterende SQL bord med en standardverdi

la oss Anta at vi ønsker å legge til kolonnen IsActive kolonne i Ansatte-tabellen., Vi kan ha følgende verdier i denne kolonnen

  • Verdi 1: Ansatt er aktiv
  • 0: Ansatt er ikke aktiv

som standard, alle eksisterende og nye ansatte skal ha Verdien 1 i IsActive kolonne. Vi kan angi en verdi ved hjelp av standard tvang.,

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.,KOLONNER
HVOR TABLE_NAME = ‘Ansatt’
OG COLUMN_NAME = ‘Telefon’
)
BEGYNNER
ALTER TABLE Ansatt
LEGG til IsActive bit STANDARD(1);
END;

– Utfør dette søket og Velge oppføringer fra en tabell. For eksisterende poster, er det ikke oppdatere standard verdier.

Hvis vi setter inn noen ny rekord i denne tabellen, det blir standardverdien som angitt i følgende skjermbilde.,

SQL-legg til-kolonnen drift til en eksisterende SQL bord med en identitet kolonne

I SQL Server, kan vi bruke Identitet-funksjonen for å definere en standard og auto increment verdi for hver nye rad. Vi kan legge til en identitet kolonnen til den eksisterende SQL bordet også. La oss opprette en ny tabell Employee_new uten en identitet kolonne.

Når bordet er det, kan vi legge til en identitet kolonne med følgende spørring.,

1
2
3
4
5
6
7
8
9
10
11

HVIS IKKE EKSISTERER
(
VELG *
FRA INFORMATION_SCHEMA.,KOLONNER
HVOR TABLE_NAME = ‘Employee_new’
OG COLUMN_NAME = ‘ID’
)
BEGYNNER
ENDRE TABELLEN Employee_new
LEGG til ID INT IDENTITET(1,1) NOT NULL
END;

Vi skapte Identitet kolonne i en tabell uten noen spille inn i det. La oss slippe bordet og gjenskape det. Sett inn et par poster med følgende spørring.

Vi har data i Employee_new bordet. La oss legge til en Identitet kolonne med Alter table-kommandoen.,

1
2
3
4
5
6
7
8
9
10
11

HVIS IKKE EKSISTERER
(
VELG *
FRA INFORMATION_SCHEMA.,KOLONNER
HVOR TABLE_NAME = ‘Employee_new’
OG COLUMN_NAME = ‘ID’
)
BEGYNNER
ENDRE TABELLEN Employee_new
LEGG til ID INT IDENTITET(1,1) NOT NULL
END;

I det følgende skjermbilde, vi kan se den oppdaterer eksisterende oppføringer som godt.

Flere SQL legge til kolonnen operasjoner for en eksisterende SQL bord med en identitet kolonne

Vi trenger å legge til flere kolonner i en eksisterende SQL-tabellen., Vi kan gjøre det i samme Alter table-kommandoen.

I det følgende søket, vi har lagt til to kolonner ZipCode og StateCode i et enkelt Alter Table-kommandoen. Vi trenger å spesifisere alle kolonner du vil legge til i en lignende format.,

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-legg til-kolonnen drift til en eksisterende SQL tabellen med tabell designer i SSMS

I tidligere eksempler, vi brukte t-SQL å legge til kolonner i eksisterende tabell. Vi kan ikke være kjent med å skrive t-SQL-kode. Vi kan bruke SSMS GUI så vel legge til en kolonne.,

høyreklikk på bordet og klikk på Design.

Det åpner en tabell designer. Vi kan se alle eksisterende kolonne, sine data typer, standard verdier og andre egenskaper for en angitt tabell i en tabell designer

Gi en kolonne navn, og velg datatypene fra drop-down. Vi kan legge til flere kolonner i dette med riktige datatyper.

Når dette er gjort, kan du Lagre og lukk tabellen designer i SSMS., Hvis du forsøker å lukke den uten å lagre endringer, kan vi få en advarsel, så vel.

Klikk på Ja for å lagre ny kolonne i eksisterende tabell. Vi kan enten kjøre en Select-setning for å bekrefte den nye kolonnen eller bruk sp_help kommandoen for å liste alle kolonner og deres egenskaper.

1
sp_help » Ansatt.,’

I det følgende skjermbilde, kan vi se en ny kolonne i Ansatte-tabellen.

Konklusjon

I denne artikkelen, vi utforsket SQL legge til kolonnen operasjoner for å legge til en ny kolonne til en eksisterende SQL-tabellen. Vi kan bruke både GUI og handle SQL metoden for å gjøre det. Jeg håper du fant denne artikkelen nyttig. Du kan gi tilbakemelding eller kommentarer i kommentarfeltet nedenfor.,

  • Forfatter
  • Siste Innlegg
Som en MCSA sertifisert som Microsoft Certified Trainer i Gurgaon, India, med 13 års erfaring, Rajendra fungerer for en rekke store selskaper med fokus på ytelse optimalisering, overvåking, høy tilgjengelighet og gjenoppretting etter katastrofe strategier og gjennomføring., Han er forfatter av hundrevis av autoritative artikler på SQL Server, Azure, MySQL, Linux, Elektriske BI, ytelsesjustering, AWS/Amazon / RDS, Git, og relaterte teknologier som har blitt sett av over 10m lesere oppdatert.
Han er skaperen av en av de største gratis online samlinger av artikler på et enkelt tema, med hans 50-del serien på SQL Server Alltid På Grupper av Tilgjengelighet. Basert på hans bidrag til SQL Server-samfunnet, han har blitt anerkjent med ulike priser inkludert den prestisjefylte «Beste forfatter av the year» kontinuerlig i 2020 og 2021 på SQLShack.,
Raj er alltid interessert i nye utfordringer, slik at hvis du har behov for rådgivning hjelpe på alle fag som er dekket i hans skrifter, han kan nås på rajendra.gupta16@gmail.,com
Vis alle innlegg av Rajendra Gupta

Siste innlegg av Rajendra Gupta (se alle)
  • Utføre små og store versjon oppgraderinger for AWS RDS SQL Server – 29. januar 2021
  • Distribusjon AWS RDS-PostgreSQL-forekomster – 27. januar 2021
  • Migrere din lokale SQL databaser til AWS RDS SQL Server ved hjelp av AWS DMS – 25 januar 2021