Uvod v spreminjanje ukaza SQL
SQL (strukturirani jezik poizvedb) se uporablja za izvajanje operacij na bazah podatkov in tabelah z uporabo različnih ukazov SQL, kot so DDL (jezik opredelitve podatkov), DML (jezik manipulacije podatkov), DCL (jezik nadzora podatkov) in TCL (jezik nadzora transakcij). V DDL uporabljamo ukaze, kot so CREATE, DROP, ALTER itd. Za ustvarjanje in spreminjanje strukture baze podatkov ali predmetov v bazi. Ukaz ALTER se uporablja za dodajanje, spreminjanje ali brisanje stolpcev v tabeli. V tej temi bomo spoznali SQL Alter Command.
Sintaksa
Ukaz ALTER lahko uporabite za dodajanje stolpcev v obstoječo tabelo, spustitev stolpca iz tabele, preimenovanje obstoječega stolpca in spremembo podatkovnega tipa stolpca. Spodaj je skladnja, uporabljena za različne operacije, ki jih je mogoče izvesti z ukazom Alter.
Sintaksa za dodajanje novega stolpca v obstoječo tabelo je spodaj:
ALTER TABLE table_name ADD COLUMN column_name datatype;
Sintaksa za dodajanje stolpca s privzeto vrednostjo obstoječi tabeli je spodaj:
ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';
Sintaksa za spremembo podatkovnega tipa obstoječega stolpca, kot je spodaj:
ALTER TABLE table_name MODIFY column_name datatype;
Sintaksa za preimenovanje stolpca, kot je spodaj:
ALTER TABLE table_name RENAME old_column_name To new_column_name;
Sintaksa za spuščanje stolpca, kot je spodaj:
ALTER TABLE table_name DROP column_name;
Sintaksa za dodajanje omejitve NOT NULL v stolpec, kot je spodaj:
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
Kako uporabljati SQL Alter Command s primeri?
Da bi razumeli ukaze ALTER, si za spodnjo tabelo „ZAPOSLENO“ oglejte primer. Tabela 'EMPLOYEE' je že ustvarjena in z uporabo ukaza Alter se lahko spremeni veliko sprememb, kot so dodajanje stolpca, preimenovanje stolpca, spuščanje stolpca itd., Kot je opisano spodaj.
Tabela ZAPOSLENIH, kot je spodaj:
ID | NAME | STAROST | SALARSKA |
134 | Sonalno | 24 | 23000.00 |
145 | Nikhil | 27 | 28990, 00 |
167 | Soham | 26 | 25000.00 |
234 | Jaš | 32 | 35000, 00 |
189 | Ritu | 25 | 29000.00 |
190 | Rajesh | 28 | 29000.00 |
Dodajanje enega stolpca v tabelo EMPLOYEE, kot je spodaj
ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;
Zgornji ukaz ALTER bo v obstoječo tabelo 'ZAPOSLEN' dodal stolpec 'DOB'. Tu bo stolpec 'DOB' imel ničelno vrednost za vsako vrstico v obstoječi tabeli.
Rezultat lahko vidimo s spodnjo izjavo:
Select * from EMPLOYEE;
ID | NAME | STAROST | SALARSKA | DOB |
134 | Sonalno | 24 | 23000.00 | nič |
145 | Nikhil | 27 | 28990, 00 | nič |
167 | Soham | 26 | 25000.00 | nič |
234 | Jaš | 32 | 35000, 00 | nič |
189 | Ritu | 25 | 29000.00 | nič |
190 | Rajesh | 28 | 29000.00 | nič |
Dodajanje stolpca s privzeto vrednostjo
Predpostavimo, da so se zaposleni pridružili isti dan, zato ima lahko stolpec Datum pridružitve enako privzeto vrednost za vse zaposlene.
ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';
Zgornji stavek ALTER bo v tabelo EMPLOYEE dodal stolpec 'DOJ' s privzeto vrednostjo '1990-08-09'. Rezultat zgornjega ukaza lahko vidimo s spodnjo izjavo:
Select * from EMPLOYEE;
ID | NAME | STAROST | SALARSKA | DOJ |
134 | Sonalno | 24 | 23000.00 | 1990-08-09 |
145 | Nikhil | 27 | 28990, 00 | 1990-08-09 |
167 | Soham | 26 | 25000.00 | 1990-08-09 |
234 | Jaš | 32 | 35000, 00 | 1990-08-09 |
189 | Ritu | 25 | 29000.00 | 1990-08-09 |
190 | Rajesh | 28 | 29000.00 | 1990-08-09 |
Preimenovanje obstoječega stolpca
Z uporabo spodnjega ukaza lahko stolpec 'ID' iz obstoječe tabele 'EMPLOYEE' preimenujemo v 'EMP_ID'.
ALTER TABLE EMPLOYEE rename ID to EMP_ID;
Rezultat zgornjega ukaza lahko vidimo s spodnjo izjavo:
Select * from EMPLOYEE;
EMP_ID | NAME | STAROST | SALARSKA | DOJ |
134 | Sonalno | 24 | 23000.00 | 1990-08-09 |
145 | Nikhil | 27 | 28990, 00 | 1990-08-09 |
167 | Soham | 26 | 25000.00 | 1990-08-09 |
234 | Jaš | 32 | 35000, 00 | 1990-08-09 |
189 | Ritu | 25 | 29000.00 | 1990-08-09 |
190 | Rajesh | 28 | 29000.00 | 1990-08-09 |
Izpustitev stolpca iz obstoječe tabele
ALTER TABLE EMPLOYEE DROP COLUMN DOJ;
Zgornji ukaz vrne stolpec "DOJ" iz tabele "ZAPOSLENI".
Rezultate lahko vidimo po spodnji izjavi:
Select * from EMPLOYEE;
EMP_ID | NAME | STAROST | SALARSKA |
134 | Sonalno | 24 | 23000.00 |
145 | Nikhil | 27 | 28990, 00 |
167 | Soham | 26 | 25000.00 |
234 | Jaš | 32 | 35000, 00 |
189 | Ritu | 25 | 29000.00 |
190 | Rajesh | 28 | 29000.00 |
Dodajanje NOT NULL omejitev v stolpec
Tu je tabela 'ZAPOSLENI' že ustvarjena in če želimo v stolpec 'SALARY' dodati omejitev NOT NULL, potem lahko to naredimo na naslednji način.
ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;
Spreminjanje vrste podatkov stolpca
Spodnjo izjavo lahko uporabite za spreminjanje podatkovnega tipa obstoječega stolpca, kot je spodaj:
ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);
Prednosti
Spodaj so prednosti uporabe ukaza Alter:
- Ukaz Alter je zelo koristen, kadar želimo spremeniti bazo podatkov ali tabel, ki jih vsebuje baza.
- S pomočjo ukaza Alter je mogoče spremeniti veliko sprememb, če je potrebna kakršna koli sprememba v oblikovanju baze podatkov, ne da bi pri tem motili obstoječo bazo podatkov ali z njo povezani predmeti.
- Omejitve lahko v stolpec dodamo tudi po ustvarjanju tabele.
Zaključek
Potreba po ukazu ALTER pride prav, ko želimo spremeniti ali spremeniti obstoječo bazo podatkov, če se kakšna poslovna zahteva pojavi v sliko po končanem oblikovanju. Bazo podatkov ali tabel v njej lahko enostavno spremenimo z ukazom Alter. Toda razvijalci morajo med uporabo ukaza Alter za tabele zbirke podatkov preveriti, ali so dovoljenja ALTER zagotovljena uporabnikom. Kadar za dodajanje primarnega ključa uporabimo ukaz Alter, moramo to opozoriti, da mora biti stolpec primarnega ključa že ustvarjen, tj. Ko je tabela prvič ustvarjena, da ne vsebuje ničelnih vrednosti.
Priporočeni članki
To je vodnik za SQL Alter Command. Tukaj razpravljamo o uporabi SQL in dodajanjem ukazov Alter s primeri in prednostmi. Če želite izvedeti več, si oglejte tudi naslednji članek -
- Orodja za upravljanje SQL
- Funkcije nizov T-SQL
- Kaj je SQL vbrizgavanje?
- Kako povezati bazo podatkov z MySQL?