Az SQL-ben gyakran szükség van egy adatbázis szerkezeti módosítására, például táblák vagy oszlopok átnevezésére, új oszlopok hozzáadására vagy adattípusok megváltoztatására. Az ALTER TABLE parancs lehetővé teszi ezeknek a változtatásoknak a hatékony végrehajtását a meglévő adatok befolyásolása nélkül. Ez elengedhetetlen parancs az adatbázissémák kezeléséhez és frissítéséhez, ahogy az alkalmazáskövetelmények fejlődnek.
Példa: Először hozzunk létre egy minta diáktáblázatot az ALTER parancs bemutatásához:
Lekérdezés:
ALTER TABLE students
RENAME TO learners;
Kimenet:
Az ALTER parancs szintaxisa
Íme az ALTER TABLE parancs használatának általános szintaxisformátumai:
1. Táblázat átnevezése
ALTER TABLE táblanév
ÁTNEVEZÉS AZ új_tábla_névre;
2. Oszlop átnevezése
ALTER TABLE táblanév
OSZLOP ÁTNEVEZÉSE régi_oszlop_neve új_oszlopnévre;
3. Új oszlop hozzáadása
ALTER TABLE táblanév
ADD oszlopnév adattípus;bináris keresési fa]
ALTER TABLE táblanév
MODIFY COLUMN oszlopnév új_adattípus;
Példák az ALTER parancsra az SQL-ben
Az alábbiakban gyakorlati példák találhatók, amelyek segítenek megérteni, hogyan kell hatékonyan használni az ALTER parancsot különböző forgatókönyvekben. Ezek a példák magukban foglalják a táblák vagy oszlopok átnevezését új oszlopok hozzáadásával vagy változó oszlop adattípusok.
1. Hozzon létre egy mintatáblázatot
Először hozzunk létre egy diák mintát táblázat az ALTER bemutatásához parancs:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Szúrjunk be néhány adatot, majd hajtsuk végre az ALTER műveletet, hogy jobban megértsük az alter parancsot.
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');
Kimenet
1. példa: Oszlop átnevezése
Módosítsa az oszlop nevét FIRST_NAME-ra a tanuló táblázatban. A meglévő tábla oszlopnevének megváltoztatásához a Column kulcsszót kell használnunk, mielőtt beírnánk a megváltoztatandó meglévő oszlop nevét.
Szintaxis
ALTER TABLE Tanuló ÁTNEVEZÉSE COLUMN Column_NAME FIRST_NAME-ra;
Lekérdezés:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Kimenet
Kimenet2. példa: Nevezze át a táblázatot
Ebben a példában át akarjuk nevezni a táblát ebbőlStudenthogyStudent_Detailssegítségével aALTER TABLEparancs, amely leíróbbá teszi a nevet és releváns a tartalmához.
Lekérdezés:
ALTER TABLE Student RENAME TO Student_Details;Kimenet
3. példa: Új oszlop hozzáadása
Új oszlop hozzáadásához a meglévő táblához először ki kell választanunk a táblát az ALTER TABLE paranccsal táblanév, majd az új oszlop nevét és adattípusát az ADD oszlopnévvel írjuk. adattípus. Vessünk egy pillantást alább, hogy jobban megértsük.
Szintaxis
ALTER TABLE táblanév
ADD oszlopnév adattípus;számtani logikai egység
Lekérdezés:
ALTER TABLE Student ADD marks INT;Kimenet
A példában aphoneoszlop frissülVARCHAR(20)hogyBIGINT a számszerű adatok hatékonyabb tárolására és biztosítására a telefonszámok adatintegritása felesleges karakterek nélkül.
Szintaxis
ALTER TABLE táblanév
MODIFY COLUMN oszlopnév új_adattípus;
Lekérdezés:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Kimenet
| id | név | kor | telefon | |
|---|---|---|---|---|
| 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 | A hívás | 19 | [email protected] | 5555555555 |
Magyarázat :
- A telefon oszlop most egy BIGINT adattípussal rendelkezik, amely alkalmas nagy számértékek tárolására.
- A meglévő adatok változatlanok maradnak, de egész számokként tárolódnak húrok helyett.
További ALTER parancshasználati esetek
1. Oszlop eltávolítása : Bizonyos esetekben el kell távolítanunk egy oszlopot. Ehhez használhatja a DROP COLUMN szintaxist:
ALTER TABLE Student_Details
java len of arrayDROP COLUMN jelek;
Ez a parancs teljesen törli a jelölések oszlopát a táblázatból
2. Oszlop alapértelmezett értékének módosítása : Az oszlop alapértelmezett értékét a SET DEFAULT záradékkal is módosíthatjuk:
ALTER TABLE Student_Details
ALTER COLUMN kor BEÁLLÍTÁSA ALAPÉRTELMEZETT 18;
3. Táblázat vagy oszlop átnevezése különböző adatbázisokban : Vegye figyelembe, hogy az SQL szintaxisa a különböző adatbázisrendszerekben eltérő lehet. Így nevezhetnénk át egy táblát vagy oszlopot a MySQL MariaDB-ben és Jóslat :
- MySQL / MariaDB : Az oszlop átnevezésének szintaxisa hasonló, de az oszlop átnevezéséhez a CHANGE COLUMN parancsot is kell használni:
ALTER TABLE Diák
OSZLOP MÓDOSÍTÁSA régi_oszlop_neve új_oszlop_neve adattípus;
- Jóslat : Az Oracle támogatja az OSZLOP ÁTNEVEZÉS-szintaxisát, de a tábla átnevezéséhez más szintaxis szükséges:
Kvíz létrehozásaALTER TABLE Tanuló ÁTNEVEZÉSE OSZLOP régi_oszlop_neve ÚJ_oszlopnévre;