Pokud chcete v jazyce strukturovaného dotazu přidat sloupce do existující tabulky, upravte tabulku nebo odstraňte sloupce z tabulky. Všechny tyto operace jsou povoleny pouze při použití příkazu ALTER TABLE. Příkaz ALTER TABLE také umožňuje uživatelům přidat nebo zrušit omezení SQL na existující tabulky v SQL.
Příkaz ALTER TABLE také umožňuje uživateli přejmenovat existující tabulku.
Příkaz ALTER TABLE ADD COLUMN v SQL
To se používá, když potřebujete přidat sloupce do existující tabulky. V takové situaci můžete namísto vytváření nové tabulky přidat sloupec do existující tabulky pomocí klíčového slova ADD.
Syntaxe příkazu ALTER TABLE ADD COLUMN v SQL
ALTER TABLE Table_Name ADD Column_Name Data_Type;
Výše uvedená syntaxe se používá k přidání sloupce do existující tabulky a umožňuje uživatelům přidat pouze jedno pole do tabulky.
Chcete-li do existující tabulky přidat více než jeden sloupec, použijte následující syntaxi:
ALTER TABLE Table_Name ADD (Column_Name1 Data_Type, Column_Name2 Data_Type);
Pojďme pochopit ALTER TABEL ADD COLUMN v SQL s příklady.
Příklad ALTER TABLE ADD COLUMN v SQL
Vzali jsme několik příkladů SQL, které vám pomohou pochopit přidání jednoho sloupce a více sloupců do existující tabulky pomocí příkazu ALTER TABLE ADD COLUMN.
Zvažte následující tabulky spolu s danými záznamy.
Tabulka 1:Mobile_Plan:
Package_Id | Data_Id | Talktime_Id |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabulka 2:Data_Plan:
Data_Id | Data_Limit | Cena_dat |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabulka 3:Plán_doby hovoru:
Talktime_Id | Doba hovoru _Limit | Doba hovoru _Cena |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabulka 4:Zákazník (prázdná tabulka)
Příklad 1:Napište dotaz pro přidání nového sloupce Extra_Data_Price do tabulky Data_Plan.
ALTER TABLE Data_Plan ADD Extra_Data_Price int;
Použili jsme příkaz ALTER TABLE ADD ve výše uvedeném dotazu k přidání nového sloupce Extra_Data_Price do tabulky Data_Plan. Do stávající tabulky jsme přidali jeden sloupec.
Nyní použijeme klíčové slovo DESC a název tabulky ke křížové kontrole, zda byl sloupec Extra_Data_Price přidán nebo nebyl úspěšně přidán do tabulky Data_Plan.
DESC Data_Plan;
Pole | Typ | Null | Klíč | Výchozí | Navíc |
Data_Id | int(11) | NE | PRI | NULL | |
Data_Limit | int(11) | ANO | NULL | ||
Data_Price | int(11) | ANO | NULL | ||
Extra_Data_Price | Int(11) | ANO |
Příklad 2: Napište dotaz pro přidání více sloupců CustomerId, Customer_Name a Phone_Number do tabulky Customer, která je prázdná a nemá žádné sloupce.
ALTER TABLE Customer ADD (CustomerId int, Customer_Name varchar(20), Phone_Number varchar(10));
Použili jsme příkaz ALTER TABLE ADD ve výše uvedeném dotazu k přidání více nových sloupců CustomerId, Customer_Name a Phone_Number do tabulky Customer. Do stávající tabulky jsme přidali několik sloupců.
Nyní použijeme klíčové slovo DESC a název tabulky ke křížové kontrole, zda byly sloupce CustomerId, Customer_Name a Phone_Number úspěšně přidány do tabulky Customer.
DESC Customer;
Pole | Typ | Null | Klíč | Výchozí | Navíc |
CustomerId | int(11) | ANO | NULL | ||
Jméno zákazníka | varchar(20) | ANO | NULL | ||
Telefonní_číslo | varchar(10) | ANO | NULL |
Předpokládejme, že chcete do existující tabulky přidat omezení, jako je primární klíč, cizí klíč. Vezmeme si příklad přidání omezení primárního klíče a omezení cizího klíče do existující tabulky. Tato omezení můžeme také přidat pomocí příkazu ALTER TABLE ADD.
Příklad 3: Napište dotaz pro přidání omezení primárního klíče do názvu sloupce CustomerId v tabulce zákazníků.
ALTER TABLE Customer ADD Primary Key(CustomerId);
Ve výše uvedeném dotazu jsme použili příkaz ALTER TABLE ADD k přidání omezení primárního klíče do názvu sloupce CustomerId v tabulce zákazníků. Použili jsme klíčové slovo Primární klíč s příkazem ALTER TABLE ADD k přidání omezení na CustomerId.
Nyní použijeme klíčové slovo DESC a název tabulky ke křížové kontrole, zda se klíč sloupce CustomerId v tabulce Customer změnil na PRI.
DESC Customer;
Pole | Typ | Null | Klíč | Výchozí | Navíc |
CustomerId | int(11) | ANO | PRI | NULL | |
Jméno zákazníka | varchar(20) | ANO | NULL | ||
Telefonní_číslo | varchar(10) | ANO | NULL |
Příklad 4: Napište dotaz pro přidání omezení cizího klíče na název sloupce Package_Id v tabulce zákazníků.
ALTER TABLE Customer ADD (Package_Id int, FOREIGN KEY(Package_Id) references Mobile_Plan(Package_ID));
Ve výše uvedeném dotazu jsme nejprve přidali sloupec Package_Id do tabulky Customer a poté jsme použili cizí klíč ve stejném sloupci Package_Id ve stejném dotazu pomocí příkazu ALTER TABLE ADD.
Nyní použijeme klíčové slovo DESC a název tabulky ke křížové kontrole, zda byl sloupec Package_Id přidán nebo neúspěšně v tabulce Customer a změně klíče na MUL.
DESC Customer;
Pole | Typ | Null | Klíč | Výchozí | Navíc |
CustomerId | int(11) | ANO | PRI | NULL | |
Jméno zákazníka | varchar(20) | ANO | NULL | ||
Telefonní_číslo | varchar(10) | ANO | NULL | ||
Package_Id | Int(11) | ANO | MUL | NULL |
Příkaz ALTER TABLE MODIFY COLUMN v SQL
Předpokládejme, že chcete aktualizovat název sloupce nebo definici jako datový typ. V takovém případě použijeme příkaz ALTER TABLE MODIFY k aktualizaci datového typu sloupce již existující tabulky. Klíčové slovo MODIFY použijeme hned za Table_Name v příkazu.
Syntaxe příkazu ALTER TABLE MODIFY COLUMN v SQL
ALTER TABLE Table_Name MODIFY Column_Name Data_Type;
Výše uvedená syntaxe se používá k úpravě sloupců v existující tabulce a umožňuje uživateli upravit pouze jedno pole.
Chcete-li upravit více než jeden sloupec v existující tabulce, použijte níže uvedenou syntaxi:
ALTER TABLE Table_Name MODIFY (Column_Name1 Data_Type, Column_Name2 Data_Type);
Pojďme pochopit ALTER TABEL MODIFY v SQL s příklady.
Příklad sloupce ALTER TABLE MODIFY v SQL
Vzali jsme několik příkladů SQL, abychom vám pomohli pochopit úpravy jednotlivých sloupců a více sloupců ve stávající tabulce pomocí příkazu ALTER TABLE MODIFY.
Zvažte následující tabulky spolu s danými záznamy.
Tabulka 1:Mobile_Plan:
Package_Id | Data_Id | Talktime_Id |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabulka 2:Data_Plan:
Data_Id | Data_Limit | Cena_dat |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabulka 3:Plán_doby hovoru:
Talktime_Id | Doba hovoru _Limit | Doba hovoru _Cena |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabulka 4:Zákazník
CustomerId | Jméno zákazníka | Telefonní_číslo | Package_Id |
101 | Bhavesh | 9846522021 | 1 |
102 | Mahesh | 7798598272 | 3 |
103 | Anita | 7865222021 | 1 |
Příklad 1: Napište dotaz pro aktualizaci velikosti sloupce Jméno zákazníka z tabulky zákazníků.
ALTER TABLE Customer MODIFY Customer_Name varchar(30);
Ve výše uvedeném dotazu jsme upravili velikost sloupce Customer_Name z 20 na 30. K úpravě sloupce jsme použili příkaz ALTER TABLE s klíčovým slovem MODIFY hned za názvem tabulky.
Nyní použijeme klíčové slovo DESC a název tabulky ke křížové kontrole, zda je datový typ sloupce Customer_Name v tabulce Customer změněn.
DESC Customer;
Pole | Typ | Null | Klíč | Výchozí | Navíc |
CustomerId | int(11) | ANO | PRI | NULL | |
Jméno zákazníka | varchar(30) | ANO | NULL | ||
Telefonní_číslo | varchar(10) | ANO | NULL | ||
Package_Id | Int(11) | ANO | MUL | NULL |
Příklad 2: Napište dotaz pro aktualizaci datového typu sloupce Talktime_Limit a Talktime_Price z tabulky Talktime_Plan.
ALTER TABLE Talktime_Plan MODIFY (Talktime_Limit varchar(2), Talktime_Price varchar(2));
Ve výše uvedeném dotazu jsme upravili sloupce Talktime_Limit a Talktime_Price datový typ z int na varchar. K úpravě sloupce jsme použili příkaz ALTER TABLE s klíčovým slovem MODIFY hned za názvem tabulky.
Nyní použijeme klíčové slovo DESC a název tabulky ke křížové kontrole, zda jsou sloupce Talktime_Limit a datový typ Talktime_Price v tabulce Talktime_Plan změněny či nikoli.
DESC Talktime_Plan;
Pole | Typ | Null | Klíč | Výchozí | Navíc |
TalkTime_Id | int(11) | ANO | PRI | NULL | |
TalkTime_Limit | varchar(2) | ANO | NULL | ||
TalkTime_Price | varchar(2) | ANO | NULL |
Příkaz ALTER TABLE DROP COLUMN v SQL
To se používá, když odstraníte sloupec z existující tabulky. Pak v takové situaci můžeme namísto odstranění celé tabulky z databáze použít klíčové slovo DROP k odstranění sloupce.
Syntaxe příkazu ALTER TABLE DROP COLUMN v SQL
ALTER TABLE Table_Name DROP Column_Name;
Pojďme pochopit ALTER TABEL DROP v SQL s příklady.
Příklad sloupce ALTER TABLE DROP v SQL
Vzali jsme příklady SQL, které vám pomohou pochopit úpravy jednotlivých sloupců a více sloupců ve stávající tabulce pomocí příkazu ALTER TABLE DROP.
Zvažte následující tabulky spolu s danými záznamy.
Tabulka 1:Mobile_Plan:
Package_Id | Data_Id | Talktime_Id |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabulka 2:Data_Plan:
Data_Id | Data_Limit | Cena_dat |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabulka 3:Plán_doby hovoru:
Talktime_Id | Doba hovoru _Limit | Doba hovoru _Cena |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabulka 4:Zákazník
CustomerId | Jméno zákazníka | Telefonní_číslo | Package_Id |
101 | Bhavesh | 9846522021 | 1 |
102 | Mahesh | 7798598272 | 3 |
103 | Anita | 7865222021 | 1 |
Příklad 1:Napište dotaz pro odstranění Package_Id z tabulky Customer.
ALTER TABLE Customer DROP COLUMN Package_Id;
Ve výše uvedeném dotazu jsme z tabulky Customer vypustili název sloupce Package_Id. K odstranění sloupce z tabulky jsme použili příkaz ALTER TABLE DROP.
Nyní zkontrolujeme, zda byl sloupec Package_Id z tabulky Customer odstraněn či neúspěšně.
SELECT * FROM CUSTOMER;
CustomerId | Jméno zákazníka | Telefonní_číslo |
101 | Bhavesh | 9846522021 |
102 | Mahesh | 7798598272 |
103 | Anita | 7865222021 |
Příkaz ALTER TABLE RENAME v SQL
Předpokládejme, že chceme změnit název sloupce nebo tabulky, pak použijeme klíčové slovo RENAME k přejmenování polí nebo tabulek existující tabulky.
Syntaxe příkazu ALTER TABLE RENAME v SQL
ALTER TABLE Table_Name RENAME Column_Name;
Pojďme pochopit ALTER TABEL RENAME v SQL s příklady.
Příklad sloupce ALTER TABLE RENAME v SQL
Vzali jsme příklady SQL, které vám pomohou pochopit úpravy jednotlivých sloupců a více sloupců ve stávající tabulce pomocí příkazu ALTER TABLE RENAME.
Zvažte následující tabulky spolu s danými záznamy.
CustomerId | Jméno zákazníka | Telefonní_číslo |
101 | Bhavesh | 9846522021 |
102 | Mahesh | 7798598272 |
103 | Anita | 7865222021 |
Příklad 1:Napište dotaz ke změně názvu tabulky Zákazník.
ALTER TABLE Customer RENAME TO CUST;
Ve výše uvedeném dotazu jsme přejmenovali název tabulky tabulky Zákazník na tabulku Cust. K přejmenování názvu tabulky jsme použili příkaz ALTER TABLE RENAME.
Zkontrolujeme, zda byl název tabulky změněn nebo neúspěšně.
SHOW TABLES;
Příklad 1:Napište dotaz pro změnu názvu sloupce CustomerId na cid z tabulky Cust.
ALTER TABLE Cust RENAME COLUMN CustomerId cid int not null;
Ve výše uvedeném dotazu jsme změnili název sloupce CustomerId na Cid. K přejmenování názvu tabulky jsme použili příkaz ALTER TABLE RENAME.
Zkontrolujeme, zda byl název tabulky změněn nebo neúspěšně.
SELECT * FROM CUST;