Introduktion til SQL Alter Command

SQL (Structured Query Language) bruges til at udføre operationer på databaser og tabeller ved hjælp af forskellige SQL-kommandoer såsom DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) og TCL (Transaction Control Language). I DDL bruger vi kommandoer som CREATE, DROP, ALTER osv. Til at oprette og ændre strukturen i databasen eller objekterne i databasen. ALTER-kommandoen bruges til at tilføje, ændre eller slette kolonnerne i en tabel. I dette emne skal vi lære om SQL Alter Command.

Syntaks

ALTER-kommandoen kan bruges til at tilføje kolonner til en eksisterende tabel, slippe en kolonne fra en tabel, omdøbe en eksisterende kolonne og ændre datatypen for en kolonne. Nedenfor er syntaks brugt til de forskellige handlinger, der kan udføres ved hjælp af kommandoen Alter.

Syntaks for at tilføje en ny kolonne til en eksisterende tabel er som nedenfor:

ALTER TABLE table_name ADD COLUMN column_name datatype;

Syntaks for at tilføje en kolonne med en standardværdi til en eksisterende tabel er som nedenfor:

ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';

Syntaks til ændring af datatypen i en eksisterende kolonne som nedenfor:

ALTER TABLE table_name MODIFY column_name datatype;

Syntaks til omdøbning af en kolonne som nedenfor:

ALTER TABLE table_name RENAME old_column_name To new_column_name;

Syntaks for at droppe en kolonne som nedenfor:

ALTER TABLE table_name DROP column_name;

Syntaks for at tilføje NOT NULL-begrænsningen til en kolonne som nedenfor:

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

Hvordan bruges SQL Alter Command med eksempler?

For at forstå ALTER-kommandofunktionerne, lad os betragte nedenstående tabel 'MEDARBEJDER' som et eksempel. Tabellen 'MEDARBEJDERE' er allerede oprettet, og ved hjælp af kommandoen Alter kan mange ændringer, f.eks. Tilføjelse af kolonnen, omdøbning af en kolonne, droppe en kolonne osv., Udføres som beskrevet nedenfor.

MEDARBEJDERS-tabel som nedenfor:

IDNAVNALDERLØN
134Sonal2423000, 00
145Nikhil2728990, 00
167Soham2625000, 00
234Yash3235000, 00
189Ritu2529000, 00
190Rajesh2829000, 00

Tilføjelse af en enkelt kolonne til medarbejdertabellen som nedenfor

ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;

Ovenstående ALTER-kommando tilføjer kolonnen 'DOB' til den eksisterende tabel 'MEDARBEJDERE'. Her vil kolonnen 'DOB' have en nullværdi for hver række i den eksisterende tabel.

Vi kan se resultatet ved hjælp af nedenstående udsagn:

Select * from EMPLOYEE;

IDNAVNALDERLØNDOB
134Sonal2423000, 00nul
145Nikhil2728990, 00nul
167Soham2625000, 00nul
234Yash3235000, 00nul
189Ritu2529000, 00nul
190Rajesh2829000, 00nul

Tilføjelse af en kolonne med standardværdien

Lad os antage, at medarbejderne er tilsluttet samme dag, så kolonnen Dato for tiltrædelse kan have den samme standardværdi for alle ansatte.

ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';

Ovenstående ALTER-sætning tilføjer kolonnen 'DOJ' med en standardværdi på '1990-08-09' til medarbejder-tabellen. Vi kan se resultatet af ovenstående kommando ved at bruge nedenstående sætning:

Select * from EMPLOYEE;

IDNAVNALDERLØNDoJ
134Sonal2423000, 001990/08/09
145Nikhil2728990, 001990/08/09
167Soham2625000, 001990/08/09
234Yash3235000, 001990/08/09
189Ritu2529000, 001990/08/09
190Rajesh2829000, 001990/08/09

Omdøbning af en eksisterende kolonne

Ved at bruge kommandoen nedenfor kan vi omdøbe kolonnen 'ID' fra den eksisterende 'EMPLOYEE' -tabel til 'EMP_ID'.

ALTER TABLE EMPLOYEE rename ID to EMP_ID;

Vi kan se resultatet af ovenstående kommando ved nedenstående udsagn:

Select * from EMPLOYEE;

EMP_IDNAVNALDERLØNDoJ
134Sonal2423000, 001990/08/09
145Nikhil2728990, 001990/08/09
167Soham2625000, 001990/08/09
234Yash3235000, 001990/08/09
189Ritu2529000, 001990/08/09
190Rajesh2829000, 001990/08/09

Slipper en kolonne fra den eksisterende tabel

ALTER TABLE EMPLOYEE DROP COLUMN DOJ;

Ovenstående kommando slipper kolonnen 'DOJ' fra tabellen 'MEDARBEJDERE'.

Vi kan se resultaterne ved nedenstående udsagn:

Select * from EMPLOYEE;

EMP_IDNAVNALDERLØN
134Sonal2423000, 00
145Nikhil2728990, 00
167Soham2625000, 00
234Yash3235000, 00
189Ritu2529000, 00
190Rajesh2829000, 00

Tilføjer IKKE NULL Begrænsning til en kolonne

Her er tabellen 'MEDARBEJDERE' allerede oprettet, og hvis vi vil tilføje en IKKE NULL-begrænsning til kolonnen 'SALARI', så kan vi gøre det som nedenfor.

ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;

Ændring af datatypen for en kolonne

Nedenstående sætning kan bruges til at ændre datatypen for en eksisterende kolonne som nedenfor:

ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);

Fordele

Nedenfor er fordelene ved at bruge Alter-kommandoen:

  • Alter-kommando er meget nyttig, når vi vil ændre databasen eller tabellerne i en database.
  • Ved hjælp af kommandoen fra Alter kan der foretages mange ændringer, hvis der er behov for nogen ændring i design af databasen uden at forstyrre den eksisterende database eller objekter, der er relateret til den.
  • Vi kan tilføje begrænsninger til en kolonne, selv efter at tabellen er oprettet.

Konklusion

Behovet for ALTER-kommandoen er praktisk, når vi vil ændre eller ændre den eksisterende database, hvis der er noget forretningskrav, der kommer ind i billedet, efter at designen er afsluttet. Vi kan let ændre databasen eller tabellerne i den ved hjælp af kommandoen Alter. Men udviklerne skal kontrollere, om de ALTER-tilladelser, der er angivet til brugere, mens de bruger Alter-kommandoen til databasetabeller. Også når vi bruger kommandoen Alter til at tilføje primærnøgle, skal vi holde den opmærksom på, at den primære nøglekolonne allerede skal være oprettet, dvs. når tabellen først blev oprettet for ikke at indeholde Nul-værdier.

Anbefalede artikler

Dette er en guide til SQL Alter Command. Her diskuterer vi, hvordan man bruger SQL tilføjelse af Alter-kommandoer med eksempler og fordele. Du kan også se på den følgende artikel for at lære mere -

  1. SQL-styringsværktøjer
  2. T-SQL strengfunktioner
  3. Hvad er SQL-injektion?
  4. Hvordan tilsluttes database til MySQL?