SQL duomenų bazėje dažnai reikia atlikti struktūrinius pakeitimus, pvz., pervardyti lenteles arba stulpelius, pridėti naujų stulpelių arba pakeisti duomenų tipus. Komanda ALTER TABLE leidžia efektyviai atlikti šiuos pakeitimus nepažeidžiant esamų duomenų. Tai esminė komanda duomenų bazių schemoms valdyti ir atnaujinti, kai keičiasi taikomųjų programų reikalavimai.
Pavyzdys: Pirmiausia sukurkime pavyzdinę Studento lentelę, kad parodytume komandą ALTER:
Užklausa:
ALTER TABLE students
RENAME TO learners;
Išvestis:
ALTER komandos sintaksė
Čia pateikiami įprasti sintaksės formatai, naudojami naudojant komandą ALTER TABLE:
1. Lentelės pervadinimas
ALTER TABLE lentelės_pavadinimas
PERVARDYTI Į naują_lentelės_pavadinimą;
2. Stulpelio pervadinimas
ALTER TABLE lentelės_pavadinimas
PAVADINTI Stulpelį senasis_stulpelio_pavadinimas Į naują_stulpelio_pavadinimą;
3. Naujo stulpelio pridėjimas
ALTER TABLE lentelės_pavadinimas
PRIDĖTI stulpelio_pavadinimo duomenų tipą;kilpoms java
ALTER TABLE lentelės_pavadinimas
MODIFY COLUMN stulpelio_pavadinimas naujas_duomenų tipas;
ALTER komandos pavyzdžiai SQL
Žemiau pateikiami praktiniai pavyzdžiai, padedantys suprasti, kaip efektyviai naudoti komandą ALTER įvairiuose scenarijuose. Šie pavyzdžiai apima lentelių arba stulpelių pervardijimą ir naujų stulpelių pridėjimą arba besikeičiantis stulpelis duomenų tipai.
1. Sukurkite pavyzdinę lentelę
Pirmiausia sukurkime Mokinio pavyzdį lentelę, kurioje parodytas ALTER komanda:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Įterpkime kai kuriuos duomenis ir atlikime ALTER operaciją, kad geriau suprastume alter komandą.
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');
Išvestis
1 pavyzdys: Pervardykite stulpelį
Pakeiskite stulpelio pavadinimą į FIRST_NAME lentelėje Studentas. Norėdami pakeisti esamos lentelės stulpelio pavadinimą, prieš rašydami esamo stulpelio pavadinimą, kurį norite pakeisti, turime naudoti raktinį žodį Column.
Sintaksė
ALTER TABLE Mokinio PAVADINIMAS COLUMN Column_NAME Į FIRST_NAME;
Užklausa:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Išvestis
Išvestis2 pavyzdys: Pervardykite lentelę
Šiame pavyzdyje norime pervardyti lentelę išStudentįStudent_DetailsnaudojantALTER TABLEkomanda, kad pavadinimas būtų labiau aprašomas ir atitinka jos turinį.
Užklausa:
ALTER TABLE Student RENAME TO Student_Details;Išvestis
3 pavyzdys: pridėkite naują stulpelį
Norėdami į esamą lentelę įtraukti naują stulpelį, pirmiausia turime pasirinkti lentelę su komanda ALTER TABLE lentelės_pavadinimas ir tada parašyti naujo stulpelio pavadinimą ir jo duomenų tipą ADD stulpelio_pavadinimas duomenų tipas. Pažvelkime žemiau, kad suprastume geriau.
Sintaksė
ALTER TABLE lentelės_pavadinimas
PRIDĖTI stulpelio_pavadinimo duomenų tipą;Moore mašinos pavyzdžiai
Užklausa:
ALTER TABLE Student ADD marks INT;Išvestis
Pavyzdyjephonestulpelis atnaujintas nuoVARCHAR(20)įBIGINT efektyviau saugoti skaitinius duomenis ir užtikrinti telefono numerių duomenų vientisumas be nereikalingų simbolių.
Sintaksė
ALTER TABLE lentelės_pavadinimas
MODIFY COLUMN stulpelio_pavadinimas naujas_duomenų tipas;
Užklausa:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Išvestis
| id | pavadinimas | amžiaus | paštu | telefonas |
|---|---|---|---|---|
| 1 | Ką | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Priya | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Skambutis | 19 | [email protected] | 5555555555 |
Paaiškinimas :
- Telefono stulpelyje dabar yra BIGINT duomenų tipas, tinkamas didelėms skaitinėms reikšmėms saugoti.
- Esami duomenys lieka nepakitę, bet saugomi kaip sveikieji skaičiai vietoj stygų.
Papildomi ALTER komandos naudojimo atvejai
1. Stulpelio pašalinimas : kai kuriais atvejais gali tekti pašalinti stulpelį. Norėdami tai padaryti, galite naudoti DROP COLUMN sintaksę:
ALTER TABLE Student_Details
DROP COLUMN ženklai;
Ši komanda visiškai ištrina ženklų stulpelį iš lentelės
git pull sintaksė
2. Numatytosios stulpelio reikšmės keitimas : Taip pat galime pakeisti numatytąją stulpelio reikšmę naudodami sąlygą SET DEFAULT:
ALTER TABLE Student_Details
ALTER COLUMN amžius NUSTATYMAS NUMATYTOJI 18;
3. Lentelės arba stulpelio pervadinimas įvairiose duomenų bazėse : Atminkite, kad SQL sintaksė įvairiose duomenų bazių sistemose gali skirtis. Štai kaip pervardytume lentelę ar stulpelį MySQL MariaDB ir Orakulas :
- MySQL / MariaDB : Stulpelio pervardijimo sintaksė yra panaši, tačiau taip pat turite naudoti komandą CHANGE COLUMN, kad pervardytumėte stulpelį:
ALTER TABLE Studentas
PAKEISTI Stulpelį senas_stulpelio_pavadinimas naujas_stulpelio_pavadinimas duomenų tipas;
- Orakulas : „Oracle“ palaiko sintaksę RENAME COLUMN, tačiau norint pervardyti lentelę, reikalinga kita sintaksė:
Sukurti viktorinąALTER TABLE Studentas PAVADINTI Stulpelį senasis_stulpelio_pavadinimas Į naujo_stulpelio_pavadinimas;