logo

MySQL Lägg till/ta bort kolumn

En kolumn är en serie celler i en tabell som kan innehålla text, siffror och bilder. Varje kolumn lagrar ett värde för varje rad i en tabell. I det här avsnittet kommer vi att diskutera hur man lägger till eller tar bort kolumner i en befintlig tabell.

Hur kan vi lägga till en kolumn i MySQL-tabellen?

MySQL tillåter ÄNDRA TABELL LÄGG TILL KOLUMN kommando för att lägga till en ny kolumn i en befintlig tabell. Följande är syntaxen för att göra detta:

 ALTER TABLE table_name ADD COLUMN column_name column_definition [FIRST|AFTER existing_column]; 

I ovanstående,

  • Först måste vi ange tabellnamnet.
  • Därefter, efter ADD COLUMN-satsen, måste vi ange namnet på en ny kolumn tillsammans med dess definition.
  • Slutligen måste vi ange nyckelordet FIRST eller AFTER. Det FÖRSTA nyckelordet används för att lägga till kolumnen som den första kolumnen i tabellen. Nyckelordet AFTER används för att lägga till en ny kolumn efter den befintliga kolumnen. Om vi ​​inte har tillhandahållit dessa nyckelord, lägger MySQL till den nya kolumnen som den sista kolumnen i tabellen som standard.

Ibland krävs det att man lägger till flera kolumner i den befintliga tabellen. Sedan kan vi använda syntaxen enligt följande:

 ALTER TABLE table_name ADD COLUMN column_name1 column_definition [FIRST|AFTER existing_column], ADD COLUMN column_name2 column_definition [FIRST|AFTER existing_column]; 

MySQL ADD COLUMN Exempel

Låt oss förstå det med hjälp av olika exempel. Här kommer vi att skapa en tabell med namnet 'Testa' med hjälp av följande uttalanden:

dfs vs bfs
 CREATE TABLE Test ( Stude_id int AUTO_INCREMENT PRIMARY KEY, Name varchar(55) NOT NULL ); 

Tabellstrukturen ser ut som bilden nedan:

MySQL Lägg till/ta bort kolumn

Efter att ha skapat en tabell vill vi lägga till en ny kolumn med namnet Stad i testtabellen. Eftersom vi inte har specificerat den nya kolumnpositionen explicit efter kolumnnamnet kommer MySQL att lägga till den som den sista kolumnen.

 ALTER TABLE Test ADD COLUMN City VARCHAR(30) NOT NULL; 

Därefter vill vi lägga till en ny kolumn med namnet Telefonnummer till Testa tabell. Den här gången kommer vi uttryckligen att ange den nya kolumnpositionen så att MySQL lägger till kolumnen på den angivna platsen.

 ALTER TABLE Test ADD COLUMN Phone_number VARCHAR(20) NOT NULL AFTER Name; 

I utgången nedan kan vi se att de två kolumnerna har lagts till framgångsrikt på den angivna positionen.

MySQL Lägg till/ta bort kolumn

Låt oss lägga till lite data i testtabellen med hjälp av INSERT-sats som följer:

 INSERT INTO Test( Name, Phone_number, City) VALUES ('Peter', '34556745362', 'California'), ('Mike', '983635674562', 'Texas'); 

Det kommer att se ut så här.

MySQL Lägg till/ta bort kolumn

Anta att vi vill lägga till mer än en kolumn, (Branch, e-post) i testtabellen. Utför i så fall uttalandet enligt följande:

java jämförbart gränssnitt
 ALTER TABLE Test ADD COLUMN Branch VARCHAR(30) DEFAULT NULL After Name, ADD COLUMN Email VARCHAR(20) DEFAULT NULL AFTER Phone_number; 

Det är att notera att kolumnerna Branch och Email tilldelas standardvärden NULL . Testtabellen har dock redan data så att MySQL kommer att använda nollvärden för dessa nya kolumner.

Vi kan verifiera posten i testtabellen enligt nedan:

MySQL Lägg till/ta bort kolumn

Om vi ​​av misstag lägger till en ny kolumn med det befintliga kolumnnamnet kommer MySQL att göra det kasta ett fel . Till exempel, kör följande sats som ger ett fel:

för loop java
 ALTER TABLE Test ADD COLUMN City VARCHAR(30) NOT NULL; 

Vi kommer att få följande felmeddelande.

MySQL Lägg till/ta bort kolumn

Hur kan vi byta namn på en kolumn i MySQL-tabellen?

MySQL tillåter ÄNDRA TABELL ÄNDRA KOLUMN uttalande för att ändra den gamla kolumnen med ett nytt namn. Följande är syntaxen för att göra detta:

 ALTER TABLE table_name CHANGE COLUMN old_column_name new_column_name column_definition [FIRST|AFTER existing_column]; 

I ovanstående,

  • Först måste vi ange tabellnamnet.
  • Därefter, efter CHANGE COLUMN-satsen, måste vi ange det gamla kolumnnamnet och det nya kolumnnamnet tillsammans med dess definition. Vi måste ange kolumndefinitionen även om den inte kommer att ändras.
  • Slutligen måste vi ange nyckelordet FIRST eller AFTER. Det är valfritt att specificera när vi behöver ändra kolumnnamnet på den specifika positionen.

MySQL RENAME COLUMN Exempel

Det här exemplet visar hur vi kan ändra kolumnnamnet i MySQL-tabellen:

 ALTER TABLE Test CHANGE COLUMN Phone_number Mobile_number varchar(20) NOT NULL; 

Detta uttalande kommer att ändra kolumnnamnet Telefonnummer med det nya namnet Mobilnummer i testtabellen. Utgången nedan förklarar det tydligare.

MySQL Lägg till/ta bort kolumn

Hur kan vi ta bort en kolumn från MySQL-tabellen?

Ibland vill vi ta bort enstaka eller flera kolumner från tabellen. MySQL tillåter ÄNDRA TABELL SLIPP KOLUMN uttalande för att ta bort kolumnen från tabellen. Följande är syntaxen för att göra detta:

 ALTER TABLE table_name DROP COLUMN column_name; 

I ovanstående,

  • Först måste vi specificera tabellnamn som vi vill ta bort kolumnen från.
  • Nästa, efter SLIPP KOLUMN klausul måste vi ange kolumnnamnet som vi vill ta bort från tabellen. Det är att notera att nyckelordet COLUMN är valfritt i DROP COLUMN-satsen.

Om vi ​​vill ta bort flera kolumner från tabellen, kör följande satser:

tråd.förstör
 ALTER TABLE table_name DROP COLUMN column_1, DROP COLUMN column_2, ......; 

MySQL DROP COLUMN Exempel

Det här exemplet förklarar hur vi kan ta bort en kolumn från MySQL-tabellen. Här tar vi ett bord 'Testa' som vi har skapat tidigare och ser ut som bilden nedan:

MySQL Lägg till/ta bort kolumn

Anta att vi vill ta bort ett kolumnnamn 'Gren' från testbordet. För att göra detta, kör följande sats:

 ALTER TABLE Test DROP COLUMN Branch; 

Efter framgångsrik exekvering kan vi verifiera resultatet nedan där en kolumn Branch tas bort från tabellen:

MySQL Lägg till/ta bort kolumn

I vissa fall krävs det att flera kolumner tas bort från tabellen. För att göra detta måste vi utföra följande uttalande:

katalog i linux-kommandon
 ALTER TABLE Test DROP COLUMN Mobile_number, DROP COLUMN Email; 

Kommandot tar bort båda kolumnerna. Vi kan verifiera det med hjälp av frågorna i bilden nedan.

MySQL Lägg till/ta bort kolumn

Kom ihåg följande nyckelpunkter innan du tar bort en kolumn från tabellen:

MySQL fungerar med relationsdatabaser där schemat för en tabell kan bero på kolumnerna i en annan tabell. Så när vi tar bort en kolumn från en tabell kommer det att påverka alla beroende tabeller också. Tänk på följande punkter när du tar bort kolumnen:

  • När vi tar bort kolumner från en tabell kommer det att påverka alla associerade objekt som triggers, lagrade procedurer och vyer. Anta att vi tar bort en kolumn som refererar i triggern. Efter att kolumnen har tagits bort blir utlösaren ogiltig.
  • Den tappade kolumnen beror på andra programkod, måste också ändras, vilket tar tid och ansträngning.
  • När vi tar bort en kolumn från den stora tabellen kommer det att påverka databasens prestanda under borttagningstiden.