V SQL so pogosto potrebne strukturne spremembe baze podatkov, na primer preimenovanje tabel ali stolpcev, dodajanje novih stolpcev ali spreminjanje tipov podatkov. Ukaz ALTER TABLE omogoča učinkovito izvedbo teh sprememb brez vpliva na obstoječe podatke. To je bistven ukaz za upravljanje in posodabljanje shem baze podatkov, ko se zahteve aplikacij razvijajo.
primer: Najprej ustvarimo vzorčno tabelo Student za predstavitev ukaza ALTER:
poizvedba:
ALTER TABLE students
RENAME TO learners;
Izhod:
Sintaksa za ukaz ALTER
Tu so pogosti formati sintakse za uporabo ukaza ALTER TABLE:
1. Preimenovanje tabele
ALTER TABLE ime_tabele
PREIMENI V novo_ime_tabele;
2. Preimenovanje stolpca
ALTER TABLE ime_tabele
PREIMENI STOLPEC staro_ime_stolpca V novo_ime_stolpca;
3. Dodajanje novega stolpca
ALTER TABLE ime_tabele
ADD column_name podatkovni tip;niz vsebuje
ALTER TABLE ime_tabele
MODIFY COLUMN column_name new_datatype;
Primeri ukaza ALTER v SQL
Spodaj so praktični primeri, ki nam pomagajo razumeti, kako učinkovito uporabiti ukaz ALTER v različnih scenarijih. Ti primeri vključujejo preimenovanje tabel ali stolpcev, dodajanje novih stolpcev oz spreminjanje stolpca vrste podatkov.
1. Ustvarite vzorčno tabelo
Najprej ustvarimo vzorčni študent tabelo za predstavitev ALTER ukaz:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Vstavimo nekaj podatkov in nato izvedimo operacijo ALTER, da bomo bolje razumeli ukaz alter.
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');
Izhod
Primer 1: Preimenuj stolpec
Spremenite ime stolpca v FIRST_NAME v tabeli Student. Če želite spremeniti ime stolpca obstoječe tabele, moramo uporabiti ključno besedo Column, preden napišemo obstoječe ime stolpca, ki ga želimo spremeniti.
Sintaksa
ALTER TABLE Student RENAME COLUMN Column_NAME TO FIRST_NAME;
poizvedba:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Izhod
IzhodPrimer 2: Preimenuj tabelo
V tem primeru želimo preimenovati tabelo izStudentdoStudent_Detailsz uporaboALTER TABLEukaz, zaradi katerega je ime bolj opisno in relevantni za njegovo vsebino.
poizvedba:
ALTER TABLE Student RENAME TO Student_Details;Izhod
3. primer: dodajte nov stolpec
Če želite obstoječi tabeli dodati nov stolpec, moramo najprej izbrati tabelo z ukazom ALTER TABLE ime_tabele, nato pa bomo z ADD ime_stolpca zapisali ime novega stolpca in njegov podatkovni tip. podatkovni tip. Oglejmo si spodaj, da bomo bolje razumeli.
Sintaksa
ALTER TABLE ime_tabele
ADD column_name podatkovni tip;c++ pretvori int v niz
poizvedba:
ALTER TABLE Student ADD marks INT;Izhod
V primeru jephonestolpec je posodobljen odVARCHAR(20)doBIGINT za učinkovitejše shranjevanje numeričnih podatkov in zagotavljanje celovitost podatkov za telefonske številke brez nepotrebnih znakov.
Sintaksa
ALTER TABLE ime_tabele
MODIFY COLUMN column_name new_datatype;
poizvedba:
objekt v programiranju java
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Izhod
| id | ime | starost | e-pošta | telefon |
|---|---|---|---|---|
| 1 | Kaj | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Klic | 19 | [email protected] | 5555555555 |
Razlaga :
- Stolpec telefon ima zdaj podatkovni tip BIGINT, primeren za shranjevanje velikih številskih vrednosti.
- Obstoječi podatki ostanejo nespremenjeni, vendar so shranjeni kot cela števila namesto vrvic.
Dodatni primeri uporabe ukaza ALTER
1. Odstranjevanje stolpca : V nekaterih primerih bomo morda morali odstraniti stolpec. Če želite to narediti, lahko uporabite sintakso DROP COLUMN:
ALTER TABLE Student_Details
DROP COLUMN oznake;
Ta ukaz v celoti izbriše stolpec z oznakami iz tabele
2. Spreminjanje privzete vrednosti stolpca : Prav tako lahko spremenimo privzeto vrednost stolpca s klavzulo SET DEFAULT:
ALTER TABLE Student_Details
ALTER COLUMN age SET DEFAULT 18;
3. Preimenovanje tabele ali stolpca v različnih zbirkah podatkov : Upoštevajte, da se sintaksa SQL lahko razlikuje v različnih sistemih baz podatkov. Evo, kako bi preimenovali tabelo ali stolpec v MySQL MariaDB in Oracle :
- MySQL / MariaDB : Sintaksa za preimenovanje stolpca je podobna, vendar morate za preimenovanje stolpca uporabiti tudi ukaz CHANGE COLUMN:
ALTER TABLE Študent
CHANGE COLUMN old_column_name new_column_name podatkovni tip;
- Oracle : Oracle podpira sintakso RENAME COLUMN, vendar zahteva drugačno sintakso za preimenovanje tabele:
Ustvari kvizALTER TABLE Student RENAME COLUMN old_column_name TO new_column_name;