sql >> Databáze >  >> RDS >> Database

SQL Alter Table

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; 


  1. Jak používat řazení UTF-8 v databázi SQL Server?

  2. Proč byste měli omezit přístup uživatelů ke své databázi

  3. SCD typ 2

  4. Připojení Pythonu k databázi MySQL pomocí konektoru MySQL a příkladu PyMySQL