I SQL er det ofte nødvendig med strukturelle endringer i en database, for eksempel å gi nytt navn til tabeller eller kolonner ved å legge til nye kolonner eller endre datatyper. ALTER TABLE-kommandoen lar disse endringene gjøres effektivt uten å påvirke eksisterende data. Det er en viktig kommando for å administrere og oppdatere databaseskjemaer etter hvert som applikasjonskravene utvikler seg.
Eksempel: La oss først lage et eksempel på en studenttabell for å demonstrere ALTER-kommandoen:
Spørsmål:
ALTER TABLE students
RENAME TO learners;
Produksjon:
Syntaks for ALTER-kommando
Her er de vanlige syntaksformatene for bruk av ALTER TABLE-kommandoen:
1. Gi nytt navn til en tabell
ALTER TABLE tabellnavn
RENAME TIL new_table_name;
2. Gi nytt navn til en kolonne
ALTER TABLE tabellnavn
RENAME COLUMN old_column_name TIL new_column_name;
3. Legge til en ny kolonne
ALTER TABLE tabellnavn
ADD kolonnenavn datatype;muserull fungerer ikke
ALTER TABLE tabellnavn
MODIFY COLUMN column_name new_datatype;
Eksempler på ALTER-kommando i SQL
Nedenfor er praktiske eksempler for å hjelpe oss å forstå hvordan du bruker ALTER-kommandoen effektivt i ulike scenarier. Disse eksemplene inkluderer å gi nytt navn til tabeller eller kolonner som legger til nye kolonner eller skifter kolonne datatyper.
1. Lag en prøvetabell
La oss først lage en prøvestudent tabell for å demonstrere ALTER kommando:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
La oss sette inn noen data og deretter utføre ALTER-operasjonen for å forstå bedre alter-kommandoen.
INSERT INTO Student (id name age email phone)
VALUES
(1 'Amit' 20 '[email protected]' '9999999999')
(2 'Rahul' 22 '[email protected]' '8888888888')
(3 'Priya' 21 '[email protected]' '7777777777')
(4 'Sonia' 23 '[email protected]' '6666666666')
(5 'Kiran' 19 '[email protected]' '5555555555');
Produksjon
Eksempel 1: Gi nytt navn til en kolonne
Endre navnet på kolonnenavnet til FIRST_NAME i tabellen Student. For å endre kolonnenavnet til den eksisterende tabellen må vi bruke kolonnenøkkelordet før vi skriver det eksisterende kolonnenavnet som skal endres.
Syntaks
ENDRE TABELL Student RENAME COLUMN Column_NAME TIL FIRST_NAME;
Spørsmål:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Produksjon
ProduksjonEksempel 2: Gi nytt navn til en tabell
I dette eksemplet ønsker vi å gi nytt navn til tabellen fraStudenttilStudent_Detailsved å brukeALTER TABLEkommando som gjør navnet mer beskrivende og relevant for innholdet.
Spørsmål:
ALTER TABLE Student RENAME TO Student_Details;Produksjon
Eksempel 3: Legg til en ny kolonne
For å legge til en ny kolonne til den eksisterende tabellen, må vi først velge tabellen med ALTER TABLE-kommandoen table_name og deretter skriver vi navnet på den nye kolonnen og dens datatype med ADD column_name datatype. La oss ta en titt nedenfor for å forstå bedre.
Syntaks
ALTER TABLE tabellnavn
ADD kolonnenavn datatype;svevende css
Spørsmål:
ALTER TABLE Student ADD marks INT;Produksjon
I eksempletphonekolonnen er oppdatert fraVARCHAR(20)tilBIGINT å lagre numeriske data mer effektivt og sikre dataintegritet for telefonnumre uten unødvendige tegn.
Syntaks
ALTER TABLE tabellnavn
MODIFY COLUMN column_name new_datatype;
Spørsmål:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Produksjon
| id | navn | alder | e-post | telefon |
|---|---|---|---|---|
| 1 | Hva | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Samtalen | 19 | [email protected] | 5555555555 |
Forklaring :
javascript søvn
- Telefonkolonnen har nå en BIGINT datatype som er egnet for lagring av store numeriske verdier.
- Eksisterende data forblir uendret, men lagres som heltall i stedet for strenger.
Ytterligere brukstilfeller for ALTER-kommandoer
1. Fjerne en kolonne : I noen tilfeller må vi kanskje fjerne en kolonne. For å gjøre det kan du bruke DROP COLUMN-syntaksen:
ALTER TABLE Student_Details
DROPPE KOLONNE-merker;
Denne kommandoen sletter merkekolonnen helt fra tabellen
2. Endre en kolonnes standardverdi : Vi kan også endre en kolonnes standardverdi ved å bruke SET DEFAULT-leddet:
ALTER TABLE Student_Details
ALTER COLUMN age SET STANDARD 18;
3. Gi nytt navn til en tabell eller kolonne i forskjellige databaser : Merk at SQL-syntaks kan variere mellom ulike databasesystemer. Slik vil vi gi nytt navn til en tabell eller kolonne i MySQL MariaDB og Oracle :
- MySQL / MariaDB : Syntaksen for å gi nytt navn til en kolonne er lik, men du må også bruke CHANGE COLUMN-kommandoen for å gi nytt navn til en kolonne:
ALTER TABLE Student
CHANGE COLUMN old_column_name new_column_name datatype;
- Oracle : Oracle støtter RENAME COLUMN-syntaksen, men krever en annen syntaks for å gi nytt navn til en tabell:
Lag quizENDRE TABELL Student RENAME COLUMN old_column_name TO new_column_name;