Úvod do příkazu SQL Alter Command
SQL (Structured Query Language) se používá k provádění operací s databázemi a tabulkami pomocí různých příkazů SQL, jako je DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) a TCL (Transaction Control Language). V DDL používáme příkazy jako CREATE, DROP, ALTER atd. K vytvoření a úpravě struktury databáze nebo objektů v databázi. Příkaz ALTER se používá k přidání, úpravě nebo odstranění sloupců v tabulce. V tomto tématu se budeme učit o SQL Alter Command.
Syntax
Příkaz ALTER lze použít k přidání sloupců k existující tabulce, přetažení sloupce z tabulky, přejmenování existujícího sloupce a změna datového typu sloupce. Níže jsou uvedeny syntaxe používané pro různé operace, které lze provést pomocí příkazu Alter.
Syntaxe pro přidání nového sloupce do stávající tabulky je následující:
ALTER TABLE table_name ADD COLUMN column_name datatype;
Syntaxe pro přidání sloupce s výchozí hodnotou do stávající tabulky je následující:
ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';
Syntaxe pro změnu typu dat existujícího sloupce:
ALTER TABLE table_name MODIFY column_name datatype;
Syntaxe pro přejmenování sloupce níže:
ALTER TABLE table_name RENAME old_column_name To new_column_name;
Syntaxe pro zrušení sloupce, jak je uvedeno níže:
ALTER TABLE table_name DROP column_name;
Syntaxe pro přidání omezení NOT NULL do sloupce, jak je uvedeno níže:
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
Jak používat SQL Alter Command s příklady?
Abychom porozuměli příkazovým operacím ALTER, vezměme si jako příklad následující tabulku 'ZAMĚSTNANCI'. Tabulka „ZAMĚSTNANCI“ je již vytvořena a pomocí příkazu Alter lze provést mnoho úprav, jako je přidání sloupce, přejmenování sloupce, zrušení sloupce atd., Jak je popsáno níže.
Tabulka ZAMĚSTNANCŮ, jak je uvedeno níže:
ID | NÁZEV | STÁŘÍ | SALARY |
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 |
Přidání jednoho sloupce do tabulky EMPLOYEE, jak je uvedeno níže
ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;
Výše uvedený příkaz ALTER přidá sloupec „DOB“ do stávající tabulky „ZAMĚSTNANCI“. Sloupec „DOB“ bude mít nulovou hodnotu pro každý řádek v existující tabulce.
Výsledek můžeme vidět pomocí následujícího prohlášení:
Select * from EMPLOYEE;
ID | NÁZEV | STÁŘÍ | SALARY | DOB |
134 | Sonal | 24 | 23000, 00 | nula |
145 | Nikhil | 27 | 28990, 00 | nula |
167 | Soham | 26 | 25000, 00 | nula |
234 | Yash | 32 | 35000, 00 | nula |
189 | Ritu | 25 | 29000, 00 | nula |
190 | Rajesh | 28 | 29000, 00 | nula |
Přidání sloupce s výchozí hodnotou
Předpokládejme, že zaměstnanci se připojili ve stejný den, takže sloupec Datum připojení může mít stejnou výchozí hodnotu pro všechny zaměstnance.
ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';
Výše uvedený příkaz ALTER přidá sloupec „DOJ“ s výchozí hodnotou „1990-08-09“ do tabulky EMPLOYEE. Výsledek výše uvedeného příkazu můžeme vidět pomocí následujícího příkazu:
Select * from EMPLOYEE;
ID | NÁZEV | STÁŘÍ | SALARY | DOJ |
134 | Sonal | 24 | 23000, 00 | 1990-08-09 |
145 | Nikhil | 27 | 28990, 00 | 1990-08-09 |
167 | Soham | 26 | 25000, 00 | 1990-08-09 |
234 | Yash | 32 | 35000, 00 | 1990-08-09 |
189 | Ritu | 25 | 29000, 00 | 1990-08-09 |
190 | Rajesh | 28 | 29000, 00 | 1990-08-09 |
Přejmenování existujícího sloupce
Použitím příkazu níže můžeme přejmenovat sloupec 'ID' z existující tabulky 'EMPLOYEE' na 'EMP_ID'.
ALTER TABLE EMPLOYEE rename ID to EMP_ID;
Výsledek výše uvedeného příkazu můžeme vidět pomocí následujícího příkazu:
Select * from EMPLOYEE;
EMP_ID | NÁZEV | STÁŘÍ | SALARY | DOJ |
134 | Sonal | 24 | 23000, 00 | 1990-08-09 |
145 | Nikhil | 27 | 28990, 00 | 1990-08-09 |
167 | Soham | 26 | 25000, 00 | 1990-08-09 |
234 | Yash | 32 | 35000, 00 | 1990-08-09 |
189 | Ritu | 25 | 29000, 00 | 1990-08-09 |
190 | Rajesh | 28 | 29000, 00 | 1990-08-09 |
Vypuštění sloupce z existující tabulky
ALTER TABLE EMPLOYEE DROP COLUMN DOJ;
Výše uvedený příkaz vypustí sloupec „DOJ“ z tabulky „ZAMĚSTNANCI“.
Výsledky můžeme vidět pomocí následujícího prohlášení:
Select * from EMPLOYEE;
EMP_ID | NÁZEV | STÁŘÍ | SALARY |
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 |
Přidání NOT NULL omezení do sloupce
Zde je již vytvořena tabulka „ZAMĚSTNANCI“ a pokud chceme do sloupce „SALARY“ přidat omezení NOT NULL, můžeme to provést níže.
ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;
Úprava datového typu sloupce
Níže uvedený příkaz lze použít k úpravě datového typu existujícího sloupce, jak je uvedeno níže:
ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);
Výhody
Níže jsou uvedeny výhody použití příkazu Alter:
- Příkaz Alter je velmi užitečný, když chceme upravit databázi nebo tabulky obsažené v databázi.
- Pomocí příkazu Alter lze provést mnoho úprav, pokud je potřeba nějaká změna v návrhu databáze, aniž by došlo k narušení existující databáze nebo objektů s ní souvisejících.
- Do sloupce můžeme přidat omezení i po vytvoření tabulky.
Závěr
Potřeba příkazu ALTER se hodí, když chceme změnit nebo upravit existující databázi, pokud se po dokončení návrhu objeví na obrázku nějaký obchodní požadavek. Pomocí příkazu Alter můžeme snadno upravit databázi nebo tabulky v ní. Vývojáři by však měli zkontrolovat pomocí oprávnění ALTER poskytnutých uživatelům při použití příkazu Alter pro databázové tabulky. Také když použijeme příkaz Alter pro přidání primárního klíče, měli bychom si ho ponechat v našem vědomí, že sloupec primárního klíče musí být již vytvořen, tj. Když byla tabulka poprvé vytvořena, aby neobsahovala hodnoty Null.
Doporučené články
Toto je průvodce příkazem SQL Alter Command. Zde diskutujeme o tom, jak používat SQL přidáním alterovaných příkazů s příklady a výhodami. Další informace naleznete také v následujícím článku -
- Nástroje pro správu SQL
- Funkce řetězce T-SQL
- Co je SQL Injection?
- Jak připojit databázi k MySQL?