Úvod do príkazu SQL Alter Command
SQL (Structured Query Language) sa používa na vykonávanie operácií s databázami a tabuľkami pomocou rôznych SQL príkazov ako DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) a TCL (Transaction Control Language). V DDL používame príkazy ako CREATE, DROP, ALTER atď. Na vytvorenie a úpravu štruktúry databázy alebo objektov v databáze. Príkaz ALTER sa používa na pridanie, úpravu alebo vymazanie stĺpcov v tabuľke. V tejto téme sa dozvieme viac o príkaze SQL Alter Command.
syntax
Príkaz ALTER sa dá použiť na pridanie stĺpcov do existujúcej tabuľky, vysunutie stĺpca z tabuľky, premenovanie existujúceho stĺpca a zmenu typu údajov stĺpca. Nižšie je uvedená syntax použitá pre rôzne operácie, ktoré je možné vykonať pomocou príkazu Alter.
Syntax na pridanie nového stĺpca do existujúcej tabuľky je uvedená nižšie:
ALTER TABLE table_name ADD COLUMN column_name datatype;
Syntax na pridanie stĺpca s predvolenou hodnotou do existujúcej tabuľky je uvedená nižšie:
ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';
Syntax na zmenu typu údajov existujúceho stĺpca:
ALTER TABLE table_name MODIFY column_name datatype;
Syntax na premenovanie stĺpca je uvedená nižšie:
ALTER TABLE table_name RENAME old_column_name To new_column_name;
Syntax vynechania stĺpca, ako je uvedené nižšie:
ALTER TABLE table_name DROP column_name;
Syntax na pridanie obmedzenia NOT NULL do stĺpca, ako je uvedené nižšie:
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
Ako používať príkazy SQL Alter s príkladmi?
Aby sme pochopili operácie príkazu ALTER, uvážme ako príklad nasledujúcu tabuľku „ZAMESTNANCI“. Tabuľka „ZAMESTNÁVATEĽ“ je už vytvorená a pomocou príkazu Alter je možné vykonať mnoho úprav, ako je pridanie stĺpca, premenovanie stĺpca, vynechanie stĺpca atď., Ako je opísané nižšie.
Tabuľka ZAMESTNANCOV, ako je uvedená nižšie:
ID | NÁZOV | VEK | salar |
134 | Sonal | 24 | 23000.00 |
145 | Nikhil | 27 | 28990, 00 |
167 | Soham | 26 | 25000.00 |
234 | Yash | 32 | 35000.00 |
189 | Ritu | 25 | 29000.00 |
190 | Rajesh | 28 | 29000.00 |
Pridanie jedného stĺpca do tabuľky ZAMESTNANCOV, ako je uvedené nižšie
ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;
Vyššie uvedený príkaz ALTER pridá stĺpec „DOB“ do existujúcej tabuľky „ZAMESTNANCOV“. Stĺpec „DOB“ bude mať pre každý riadok v existujúcej tabuľke nulovú hodnotu.
Výsledok môžeme vidieť pomocou nasledujúceho vyhlásenia:
Select * from EMPLOYEE;
ID | NÁZOV | VEK | salar | DOB |
134 | Sonal | 24 | 23000.00 | nulový |
145 | Nikhil | 27 | 28990, 00 | nulový |
167 | Soham | 26 | 25000.00 | nulový |
234 | Yash | 32 | 35000.00 | nulový |
189 | Ritu | 25 | 29000.00 | nulový |
190 | Rajesh | 28 | 29000.00 | nulový |
Pridanie stĺpca s predvolenou hodnotou
Predpokladajme, že zamestnanci sa pripojili v ten istý deň, takže stĺpec Dátum vstupu môže mať rovnakú predvolenú hodnotu pre všetkých zamestnancov.
ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';
Vyššie uvedený príkaz ALTER pridá stĺpec „DOJ“ s predvolenou hodnotou „1990-08-09“ do tabuľky EMPLOYEE. Výsledok vyššie uvedeného príkazu môžeme vidieť pomocou nasledujúceho príkazu:
Select * from EMPLOYEE;
ID | NÁZOV | VEK | salar | Doj |
134 | Sonal | 24 | 23000.00 | 8.9.1990 |
145 | Nikhil | 27 | 28990, 00 | 8.9.1990 |
167 | Soham | 26 | 25000.00 | 8.9.1990 |
234 | Yash | 32 | 35000.00 | 8.9.1990 |
189 | Ritu | 25 | 29000.00 | 8.9.1990 |
190 | Rajesh | 28 | 29000.00 | 8.9.1990 |
Premenovanie existujúceho stĺpca
Použitím príkazu nižšie môžeme premenovať stĺpec „ID“ z existujúcej tabuľky „EMPLOYEE“ na „EMP_ID“.
ALTER TABLE EMPLOYEE rename ID to EMP_ID;
Výsledok vyššie uvedeného príkazu vidíme v nasledujúcom prehlásení:
Select * from EMPLOYEE;
emp_id | NÁZOV | VEK | salar | Doj |
134 | Sonal | 24 | 23000.00 | 8.9.1990 |
145 | Nikhil | 27 | 28990, 00 | 8.9.1990 |
167 | Soham | 26 | 25000.00 | 8.9.1990 |
234 | Yash | 32 | 35000.00 | 8.9.1990 |
189 | Ritu | 25 | 29000.00 | 8.9.1990 |
190 | Rajesh | 28 | 29000.00 | 8.9.1990 |
Vypúšťa sa stĺpec z existujúcej tabuľky
ALTER TABLE EMPLOYEE DROP COLUMN DOJ;
Vyššie uvedený príkaz vypustí stĺpec „DOJ“ z tabuľky „ZAMESTNANCI“.
Výsledky vidíme v nasledujúcom prehlásení:
Select * from EMPLOYEE;
emp_id | NÁZOV | VEK | salar |
134 | Sonal | 24 | 23000.00 |
145 | Nikhil | 27 | 28990, 00 |
167 | Soham | 26 | 25000.00 |
234 | Yash | 32 | 35000.00 |
189 | Ritu | 25 | 29000.00 |
190 | Rajesh | 28 | 29000.00 |
Pridanie obmedzenia NOT NULL do stĺpca
Tu je už vytvorená tabuľka „ZAMESTNÁVATEĽ“ a ak chceme do stĺpca „SALARY“ pridať obmedzenie NOT NULL, môžeme to urobiť ďalej.
ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;
Úprava dátového typu stĺpca
Nižšie uvedené vyhlásenie možno použiť na úpravu typu údajov existujúceho stĺpca, ako je uvedené nižšie:
ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);
výhody
Výhody použitia príkazu Alter sú uvedené nižšie:
- Príkaz Alter je veľmi užitočný, keď chceme zmeniť databázu alebo tabuľky obsiahnuté v databáze.
- Pomocou príkazu Alter je možné vykonať mnoho úprav, ak je potrebná nejaká zmena v návrhu databázy bez narušenia existujúcej databázy alebo objektov s ňou súvisiacich.
- Do stĺpca môžeme pridať obmedzenia aj po vytvorení tabuľky.
záver
Potreba príkazu ALTER sa hodí, keď chceme zmeniť alebo upraviť existujúcu databázu, ak sa po dokončení navrhovania objavia na obrázku nejaké obchodné požiadavky. Pomocou príkazu Alter môžeme ľahko upraviť databázu alebo tabuľky v nej. Vývojári by však mali skontrolovať pomocou oprávnení ALTER poskytnutých používateľom pri použití príkazu Alter pre tabuľky databázy. Aj keď použijeme príkaz Alter na pridanie primárneho kľúča, mali by sme si ho všimnúť, že stĺpec primárneho kľúča musí byť už vytvorený, tj keď bola tabuľka prvýkrát vytvorená, aby neobsahovala hodnoty Null.
Odporúčané články
Toto je sprievodca príkazom SQL Alter Command. Tu diskutujeme o tom, ako používať SQL pridaním alterovaných príkazov s príkladmi a výhodami. Viac informácií nájdete aj v nasledujúcom článku -
- SQL Management Tools
- Funkcie reťazca T-SQL
- Čo je to SQL Injection?
- Ako sa pripojiť k databáze MySQL?