SQL bieži ir nepieciešamas datu bāzes strukturālas izmaiņas, piemēram, tabulu vai kolonnu pārdēvēšana, jaunu kolonnu pievienošana vai datu tipu maiņa. Komanda ALTER TABLE ļauj efektīvi veikt šīs izmaiņas, neietekmējot esošos datus. Tā ir būtiska komanda datu bāzes shēmu pārvaldīšanai un atjaunināšanai, attīstoties lietojumprogrammu prasībām.
Piemērs: Vispirms izveidosim Studentu tabulas paraugu, lai demonstrētu komandu ALTER:
Vaicājums:
ALTER TABLE students
RENAME TO learners;
Izvade:
Sintakse komandai ALTER
Šeit ir izplatīti sintakses formāti komandas ALTER TABLE lietošanai:
1. Tabulas pārdēvēšana
ALTER TABLE tabulas_nosaukums
PĀRDĒVĒT UZ new_table_name;
2. Kolonnas pārdēvēšana
ALTER TABLE tabulas_nosaukums
PĀRDĒVĒT SLEJU vecā_kolonnas_nosaukums UZ jauno_kolonnas_nosaukumu;
3. Jaunas kolonnas pievienošana
ALTER TABLE tabulas_nosaukums
ADD kolonnas_nosaukums datu tips;drausmīgs miegs
ALTER TABLE tabulas_nosaukums
MODIFY COLUMN kolonnas_nosaukums new_datatype;
ALTER komandas piemēri SQL
Tālāk ir sniegti praktiski piemēri, kas palīdz mums saprast, kā efektīvi izmantot komandu ALTER dažādos scenārijos. Šie piemēri ietver tabulu vai kolonnu pārdēvēšanu, jaunu kolonnu pievienošanu vai mainot kolonnu datu tipi.
1. Izveidojiet parauga tabulu
Vispirms izveidosim Studenta paraugu tabula, lai parādītu ALTER komanda:
CREATE TABLE Student (
id INT PRIMARY KEY
name VARCHAR(50)
age INT
email VARCHAR(50)
phone VARCHAR(20)
);
Ievietosim dažus datus un pēc tam veiksim ALTER darbību, lai labāk izprastu alter komandu.
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');
Izvade
1. piemērs: Pārdēvējiet kolonnu
Mainiet kolonnas nosaukumu uz FIRST_NAME tabulā Students. Lai mainītu esošās tabulas kolonnas nosaukumu, pirms maināmā esošās kolonnas nosaukuma rakstīšanas ir jāizmanto atslēgvārds Column.
Sintakse
ALTER TABLE Students PĀRNAME COLUMN Column_NAME UZ FIRST_NAME;
Vaicājums:
ALTER TABLE Student RENAME Column name TO FIRST_NAME;Izvade
Izvade2. piemērs: Pārdēvējiet tabulu
Šajā piemērā mēs vēlamies pārdēvēt tabulu noStudentuzStudent_DetailsizmantojotALTER TABLEkomanda padarot nosaukumu aprakstošāku un atbilst tās saturam.
Vaicājums:
ALTER TABLE Student RENAME TO Student_Details;Izvade
3. piemērs: pievienojiet jaunu kolonnu
Lai esošajai tabulai pievienotu jaunu kolonnu, vispirms ir jāatlasa tabula ar komandu ALTER TABLE tabulas_nosaukums un tad mēs ierakstīsim jaunās kolonnas nosaukumu un tās datu tipu ar ADD kolonnas_nosaukums datu tips. Apskatīsim tālāk, lai labāk saprastu.
Sintakse
ALTER TABLE tabulas_nosaukums
ADD kolonnas_nosaukums datu tips;skaits atšķiras
Vaicājums:
ALTER TABLE Student ADD marks INT;Izvade
Piemērāphonekolonna ir atjaunināta noVARCHAR(20)uzBIGINT lai efektīvāk uzglabātu skaitliskos datus un nodrošinātu datu integritāte tālruņu numuriem bez nevajadzīgām rakstzīmēm.
Sintakse
ALTER TABLE tabulas_nosaukums
MODIFY COLUMN kolonnas_nosaukums new_datatype;
Vaicājums:
ALTER TABLE Student_Details
MODIFY COLUMN phone BIGINT;
Izvade
| id | nosaukums | vecums | e-pasts | tālrunis |
|---|---|---|---|---|
| 1 | Kas | 20 | [email protected] | 9999999999 |
| 2 | Rahul | 22 | [email protected] | 8888888888 |
| 3 | Prija | 21 | [email protected] | 7777777777 |
| 4 | Sonia | 23 | [email protected] | 6666666666 |
| 5 | Zvans | 19 | [email protected] | 5555555555 |
Paskaidrojums :
- Tālruņa kolonnai tagad ir BIGINT datu tips, kas piemērots lielu skaitlisko vērtību glabāšanai.
- Esošie dati paliek nemainīgi, bet tiek saglabāti kā veseli skaitļi stīgu vietā.
Papildu ALTER komandas lietošanas gadījumi
1. Kolonnas noņemšana : dažos gadījumos mums var būt nepieciešams noņemt kolonnu. Lai to izdarītu, varat izmantot sintaksi DROP COLUMN:
ALTER TABLE Student_Details
DROP COLUMN atzīmes;
atšķirība starp ledu un sniegu
Šī komanda no tabulas pilnībā izdzēš atzīmju kolonnu
2. Slejas noklusējuma vērtības maiņa : Mēs varam arī mainīt kolonnas noklusējuma vērtību, izmantojot klauzulu SET DEFAULT:
ALTER TABLE Student_Details
ALTER COLUMN vecums IESTATĪT NOKLUSĒJUMU 18;
3. Tabulas vai kolonnas pārdēvēšana dažādās datu bāzēs : Ņemiet vērā, ka SQL sintakse dažādās datu bāzes sistēmās var atšķirties. Lūk, kā mēs pārdēvējam tabulu vai kolonnu pakalpojumā MySQL MariaDB un Orākuls :
- MySQL / MariaDB : Kolonnas pārdēvēšanas sintakse ir līdzīga, taču, lai pārdēvētu kolonnu, ir jāizmanto arī komanda CHANGE COLUMN:
ALTER TABLE Students
MAINĪT COLUMN old_column_name new_column_name datatype;
- Orākuls : Oracle atbalsta sintaksi RENAME COLUMN, taču tabulas pārdēvēšanai ir nepieciešama cita sintakse:
Izveidojiet viktorīnuALTER TABLE Students PĀRDĒVĒT SLEJAS veco_kolonnas_nosaukumu UZ jaunās_kolonnas_nosaukumu;