I Structured Query Language, om du vill lägga till kolumner i en befintlig tabell, ändra sedan tabellen eller ta bort kolumner från tabellen. Alla dessa operationer är endast tillåtna när du använder ALTER TABLE-satsen. ALTER TABLE-satsen tillåter också användare att lägga till eller släppa SQL-begränsningarna på befintliga tabeller i SQL.
ALTER TABLE-satsen tillåter också användaren att byta namn på den befintliga tabellen.
ALTER TABLE ADD COLUMN-sats i SQL
Detta används när du behöver lägga till kolumner i den befintliga tabellen. I en sådan situation, istället för att skapa en ny tabell, kan du lägga till en kolumn i en befintlig tabell med hjälp av ADD-nyckelordet.
Syntax för ALTER TABLE ADD COLUMN-satsen i SQL
ALTER TABLE Table_Name ADD Column_Name Data_Type;
Ovanstående syntax används för att lägga till en kolumn i en befintlig tabell och tillåter användarna att bara lägga till ett enda fält i tabellen.
För att lägga till mer än en kolumn i en befintlig tabell, använd följande syntax:
ALTER TABLE Table_Name ADD (Column_Name1 Data_Type, Column_Name2 Data_Type);
Låt oss förstå ALTER TABEL ADD COLUMN i SQL med exempel.
Exempel på ALTER TABLE ADD COLUMN i SQL
Vi har tagit flera SQL-exempel, som hjälper dig att förstå hur du lägger till en enda kolumn och flera kolumner i den befintliga tabellen med ALTER TABLE ADD COLUMN-satsen.
Betrakta följande tabeller tillsammans med de givna posterna.
Tabell 1:Mobile_Plan:
Package_Id | Data_Id | Talktime_Id |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabell 2:Data_Plan:
Data_Id | Data_Limit | Data_Pris |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabell 3:Talktime_Plan:
Talktime_Id | Talstid _Limit | Taltid _Pris |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabell 4:Kund (tom tabell)
Exempel 1:Skriv en fråga för att lägga till en ny kolumn Extra_Data_Price i Data_Plan-tabellen.
ALTER TABLE Data_Plan ADD Extra_Data_Price int;
Vi har använt ALTER TABLE ADD-satsen i ovanstående fråga för att lägga till en ny Extra_Data_Price-kolumn i Data_Plan-tabellen. Vi har lagt till en enda kolumn i den befintliga tabellen.
Vi kommer nu att använda nyckelordet DESC och tabellnamnet för att korskontrollera om kolumnen Extra_Data_Price lades till eller inte lyckades i tabellen Data_Plan.
DESC Data_Plan;
Fält | Typ | Null | Nyckel | Standard | Extra |
Data_Id | int(11) | NEJ | PRI | NULL | |
Data_Limit | int(11) | JA | NULL | ||
Data_Price | int(11) | JA | NULL | ||
Extra_Data_Price | Int(11) | JA |
Exempel 2: Skriv en fråga för att lägga till flera kolumner CustomerId, Customer_Name och Phone_Number i Kundtabellen, som är tom, utan kolumner.
ALTER TABLE Customer ADD (CustomerId int, Customer_Name varchar(20), Phone_Number varchar(10));
Vi har använt ALTER TABLE ADD-satsen i ovanstående fråga för att lägga till flera nya kolumner CustomerId, Customer_Name och Phone_Number i Customer-tabellen. Vi har lagt till flera kolumner i den befintliga tabellen.
Vi kommer nu att använda nyckelordet DESC och tabellnamnet för att korskontrollera om kolumnerna CustomerId, Customer_Name och Phone_Number har lagts till framgångsrikt eller inte i kundtabellen.
DESC Customer;
Fält | Typ | Null | Nyckel | Standard | Extra |
Kund-ID | int(11) | JA | NULL | ||
Customer_Name | varchar(20) | JA | NULL | ||
Phone_Number | varchar(10) | JA | NULL |
Anta att du vill lägga till begränsningar som primärnyckel, främmande nyckel till en befintlig tabell. Vi kommer att ta ett exempel på att lägga till primärnyckelbegränsningar och främmande nyckelbegränsningar till den befintliga tabellen. Vi kan också lägga till dessa begränsningar genom att använda ALTER TABLE ADD-satsen.
Exempel 3: Skriv en fråga för att lägga till primärnyckelbegränsning på kolumnnamnet CustomerId i kundtabellen.
ALTER TABLE Customer ADD Primary Key(CustomerId);
I ovanstående fråga har vi använt ALTER TABLE ADD-satsen för att lägga till Primary Key-begränsningen på kolumnnamnet CustomerId i Customer Table. Vi har använt nyckelordet Primary Key med ALTER TABLE ADD-satsen för att lägga till en begränsning på kund-ID.
Vi kommer nu att använda nyckelordet DESC och tabellnamnet för att korskontrollera om kolumnnyckeln CustomerId ändras till PRI i Customer-tabellen.
DESC Customer;
Fält | Typ | Null | Nyckel | Standard | Extra |
Kund-ID | int(11) | JA | PRI | NULL | |
Customer_Name | varchar(20) | JA | NULL | ||
Phone_Number | varchar(10) | JA | NULL |
Exempel 4: Skriv en fråga för att lägga till en utländsk nyckel i kolumnnamnet Package_Id i kundtabellen.
ALTER TABLE Customer ADD (Package_Id int, FOREIGN KEY(Package_Id) references Mobile_Plan(Package_ID));
I ovanstående fråga har vi först lagt till kolumnen Package_Id i Customer-tabellen och sedan har vi använt Foreign Key i samma kolumn Package_Id i samma fråga med ALTER TABLE ADD-satsen.
Vi kommer nu att använda nyckelordet DESC och tabellnamnet för att krysskontrollera om kolumnen Package_Id lades till eller inte lyckades i kundtabellen och nyckeländringen till MUL.
DESC Customer;
Fält | Typ | Null | Nyckel | Standard | Extra |
Kund-ID | int(11) | JA | PRI | NULL | |
Customer_Name | varchar(20) | JA | NULL | ||
Phone_Number | varchar(10) | JA | NULL | ||
Package_Id | Int(11) | JA | MUL | NULL |
ALTER TABLE MODIFY COLUMN-sats i SQL
Anta att du vill uppdatera kolumnnamnet eller definitionen som en datatyp. I så fall kommer vi att använda ALTER TABLE MODIFY-satsen för att uppdatera kolumndatatypen för den redan befintliga tabellen. Vi kommer att använda nyckelordet MODIFY precis efter Table_Name i uttalandet.
Syntax för ALTER TABLE MODIFY COLUMN-satsen i SQL
ALTER TABLE Table_Name MODIFY Column_Name Data_Type;
Ovanstående syntax används för att modifiera kolumner i en befintlig tabell, vilket gör att användaren endast kan ändra ett enda fält.
För att ändra mer än en kolumn i en befintlig tabell, använd nedanstående syntax:
ALTER TABLE Table_Name MODIFY (Column_Name1 Data_Type, Column_Name2 Data_Type);
Låt oss förstå ALTER TABEL MODIFY i SQL med exempel.
Exempel på kolumnen ALTER TABLE MODIFY i SQL
Vi har tagit flera SQL-exempel för att hjälpa dig förstå hur du ändrar enstaka kolumner och flera kolumner i den befintliga tabellen med hjälp av ALTER TABLE MODIFY-satsen.
Betrakta följande tabeller tillsammans med de givna posterna.
Tabell 1:Mobile_Plan:
Package_Id | Data_Id | Talktime_Id |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabell 2:Data_Plan:
Data_Id | Data_Limit | Data_Pris |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabell 3:Talktime_Plan:
Talktime_Id | Talstid _Limit | Taltid _Pris |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabell 4:Kund
Kund-ID | Customer_Name | Phone_Number | Package_Id |
101 | Bhavesh | 9846522021 | 1 |
102 | Mahesh | 7798598272 | 3 |
103 | Anita | 7865222021 | 1 |
Exempel 1: Skriv en fråga för att uppdatera storleken på kolumnen Kundnamn från Kundtabellen.
ALTER TABLE Customer MODIFY Customer_Name varchar(30);
I ovanstående fråga har vi ändrat storleken på kolumnen Customer_Name från 20 till 30. Vi har använt ALTER TABLE-satsen med nyckelordet MODIFY precis efter tabellnamnet för att ändra kolumnen.
Vi kommer nu att använda nyckelordet DESC och tabellnamnet för att korskontrollera om kolumnen Customer_Name-datatyp är modifierad i Customer-tabellen.
DESC Customer;
Fält | Typ | Null | Nyckel | Standard | Extra |
Kund-ID | int(11) | JA | PRI | NULL | |
Customer_Name | varchar(30) | JA | NULL | ||
Phone_Number | varchar(10) | JA | NULL | ||
Package_Id | Int(11) | JA | MUL | NULL |
Exempel 2: Skriv en fråga för att uppdatera datatypen för kolumnen Talktime_Limit och Talktime_Price från Talktime_Plan-tabellen.
ALTER TABLE Talktime_Plan MODIFY (Talktime_Limit varchar(2), Talktime_Price varchar(2));
Vi har ändrat datatypen Talktime_Limit och Talktime_Price från int till varchar i ovanstående fråga. Vi har använt ALTER TABLE-satsen med nyckelordet MODIFY precis efter tabellnamnet för att ändra kolumnen.
Vi kommer nu att använda nyckelordet DESC och tabellnamnet för att korskontrollera om kolumnerna Talktime_Limit och Talktime_Price är modifierade eller inte i tabellen Talktime_Plan.
DESC Talktime_Plan;
Fält | Typ | Null | Nyckel | Standard | Extra |
TalkTime_Id | int(11) | JA | PRI | NULL | |
TalkTime_Limit | varchar(2) | JA | NULL | ||
TalkTime_Price | varchar(2) | JA | NULL |
ALTER TABLE DROP COLUMN-sats i SQL
Detta används när du tar bort kolumnen från den befintliga tabellen. I en sådan situation, istället för att ta bort hela tabellen från databasen, kan vi använda nyckelordet DROP för att ta bort kolumnen.
Syntax för ALTER TABLE DROP COLUMN-satsen i SQL
ALTER TABLE Table_Name DROP Column_Name;
Låt oss förstå ALTER TABEL DROP i SQL med exempel.
Exempel på kolumnen ALTER TABLE DROP i SQL
Vi har tagit SQL-exempel för att hjälpa dig förstå hur du ändrar enstaka kolumner och flera kolumner i den befintliga tabellen med ALTER TABLE DROP-satsen.
Betrakta följande tabeller tillsammans med de givna posterna.
Tabell 1:Mobile_Plan:
Package_Id | Data_Id | Talktime_Id |
1 | 2 | 1 |
2 | 3 | 2 |
3 | 1 | 3 |
Tabell 2:Data_Plan:
Data_Id | Data_Limit | Data_Pris |
1 | 2 | 30 |
2 | 5 | 70 |
3 | 4 | 55 |
Tabell 3:Talktime_Plan:
Talktime_Id | Talstid _Limit | Taltid _Pris |
1 | 100 | 150 |
2 | 70 | 105 |
3 | 60 | 90 |
Tabell 4:Kund
Kund-ID | Customer_Name | Phone_Number | Package_Id |
101 | Bhavesh | 9846522021 | 1 |
102 | Mahesh | 7798598272 | 3 |
103 | Anita | 7865222021 | 1 |
Exempel 1:Skriv en fråga för att ta bort Package_Id från Customer-tabellen.
ALTER TABLE Customer DROP COLUMN Package_Id;
Vi har tagit bort kolumnnamnet Package_Id från Kundtabellen i ovanstående fråga. Vi har använt ALTER TABLE DROP-satsen för att ta bort kolumnen från tabellen.
Vi kommer nu att cross_checka om kolumnen Package_Id från Customer-tabellen togs bort eller inte.
SELECT * FROM CUSTOMER;
Kund-ID | Customer_Name | Phone_Number |
101 | Bhavesh | 9846522021 |
102 | Mahesh | 7798598272 |
103 | Anita | 7865222021 |
ALTER TABLE RENAME-sats i SQL
Anta att vi vill ändra namnet på kolumnen eller tabellen, då kommer vi att använda RENAME nyckelordet för att byta namn på fälten eller tabellerna i den befintliga tabellen.
Syntax för ALTER TABLE RENAME-satsen i SQL
ALTER TABLE Table_Name RENAME Column_Name;
Låt oss förstå ALTER TABEL RENAME i SQL med exempel.
Exempel på kolumnen ALTER TABLE RENAME i SQL
Vi har tagit SQL-exempel för att hjälpa dig att förstå modifiering av enstaka kolumner och flera kolumner i den befintliga tabellen med hjälp av ALTER TABLE RENAME-satsen.
Betrakta följande tabeller tillsammans med de givna posterna.
Kund-ID | Customer_Name | Phone_Number |
101 | Bhavesh | 9846522021 |
102 | Mahesh | 7798598272 |
103 | Anita | 7865222021 |
Exempel 1:Skriv en fråga för att ändra namnet på kundtabellen.
ALTER TABLE Customer RENAME TO CUST;
I ovanstående fråga har vi bytt namn på tabellnamnet på Customer-tabellen till Cust-tabellen. Vi använde ALTER TABLE RENAME-satsen för att byta namn på tabellnamnet.
Vi korskontrollerar om tabellens namn har ändrats eller inte.
SHOW TABLES;
Exempel 1:Skriv en fråga för att ändra namnet på kolumnen CustomerId till cid från Cust-tabellen.
ALTER TABLE Cust RENAME COLUMN CustomerId cid int not null;
I ovanstående fråga har vi ändrat kolumnnamnet CustomerId till Cid. Vi har använt ALTER TABLE RENAME-satsen för att byta namn på tabellnamnet.
Vi korskontrollerar om tabellens namn har ändrats eller inte.
SELECT * FROM CUST;