logo

MySQL Tilføj/slet kolonne

En kolonne er en række celler i en tabel, der kan indeholde tekst, tal og billeder. Hver kolonne gemmer en værdi for hver række i en tabel. I dette afsnit skal vi diskutere, hvordan man tilføjer eller sletter kolonner i en eksisterende tabel.

Hvordan kan vi tilføje en kolonne i MySQL-tabel?

MySQL tillader ÆNDRE TABEL TILFØJ KOLONNE kommando for at tilføje en ny kolonne til en eksisterende tabel. Følgende er syntaksen til at gøre dette:

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

I ovenstående,

  • Først skal vi angive tabelnavnet.
  • Dernæst, efter ADD COLUMN-sætningen, skal vi angive navnet på en ny kolonne sammen med dens definition.
  • Til sidst skal vi angive FIRST eller AFTER søgeordet. Det FØRSTE søgeord bruges til at tilføje kolonnen som den første kolonne i tabellen. Nøgleordet AFTER bruges til at tilføje en ny kolonne efter den eksisterende kolonne. Hvis vi ikke har angivet disse søgeord, tilføjer MySQL som standard den nye kolonne som den sidste kolonne i tabellen.

Nogle gange er det nødvendigt at tilføje flere kolonner ind i den eksisterende tabel. Så kan vi bruge syntaksen som følger:

 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 TILFØJ KOLONNE Eksempel

Lad os forstå det ved hjælp af forskellige eksempler. Her vil vi oprette en tabel med navnet 'Prøve' ved hjælp af følgende udsagn:

erstatte alt
 CREATE TABLE Test ( Stude_id int AUTO_INCREMENT PRIMARY KEY, Name varchar(55) NOT NULL ); 

Tabellstrukturen ser ud som nedenstående billede:

MySQL Tilføj/slet kolonne

Efter at have oprettet en tabel, vil vi tilføje en ny kolonne ved navn By til testtabellen. Da vi ikke har specificeret den nye kolonneposition eksplicit efter kolonnenavnet, tilføjer MySQL den som den sidste kolonne.

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

Dernæst vil vi tilføje en ny kolonne med navnet Telefonnummer til Prøve bord. Denne gang vil vi eksplicit angive den nye kolonneposition, så MySQL tilføjer kolonnen til det angivne sted.

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

I nedenstående output kan vi se, at de to kolonner er tilføjet med succes på den angivne position.

MySQL Tilføj/slet kolonne

Lad os tilføje nogle data til testtabellen ved hjælp af INSERT erklæring som følger:

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

Det vil se sådan ud.

MySQL Tilføj/slet kolonne

Antag, at vi vil tilføje mere end én kolonne, (filial, e-mail) i testtabellen. I så fald skal du udføre erklæringen som følger:

vælg sql fra flere tabeller
 ALTER TABLE Test ADD COLUMN Branch VARCHAR(30) DEFAULT NULL After Name, ADD COLUMN Email VARCHAR(20) DEFAULT NULL AFTER Phone_number; 

Det skal bemærkes, at kolonnerne Branch og Email er tildelt standardværdien NUL . Testtabellen har dog allerede data, så MySQL vil bruge null-værdier for disse nye kolonner.

Vi kan verificere posten i testtabellen som nedenfor:

MySQL Tilføj/slet kolonne

Hvis vi ved et uheld tilføjer en ny kolonne med det eksisterende kolonnenavn, vil MySQL smide en fejl . Udfør for eksempel nedenstående sætning, der giver en fejl:

hvordan man kører et script i linux
 ALTER TABLE Test ADD COLUMN City VARCHAR(30) NOT NULL; 

Vi får følgende fejlmeddelelse.

MySQL Tilføj/slet kolonne

Hvordan kan vi omdøbe en kolonne i MySQL-tabel?

MySQL tillader ÆNDRING AF TABEL ÆNDRING KOLONNE sætning for at ændre den gamle kolonne med et nyt navn. Følgende er syntaksen til at gøre dette:

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

I ovenstående,

  • Først skal vi angive tabelnavnet.
  • Dernæst, efter CHANGE COLUMN-sætningen, skal vi angive det gamle kolonnenavn og det nye kolonnenavn sammen med dets definition. Vi er nødt til at specificere kolonnedefinitionen, selv om den ikke ændres.
  • Til sidst skal vi angive FIRST eller AFTER søgeordet. Det er valgfrit at angive, hvornår vi skal ændre kolonnenavnet på den specifikke position.

MySQL RENAME KOLONNE Eksempel

Dette eksempel viser, hvordan vi kan ændre kolonnenavnet i MySQL-tabellen:

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

Denne erklæring vil ændre kolonnenavnet Telefonnummer med det nye navn Mobilnummer i testtabellen. Nedenstående output forklarer det mere tydeligt.

MySQL Tilføj/slet kolonne

Hvordan kan vi slippe en kolonne fra MySQL-tabellen?

Nogle gange ønsker vi at fjerne enkelte eller flere kolonner fra tabellen. MySQL tillader ÆNDRING AF TABEL DROP KOLONNE sætning for at slette kolonnen fra tabellen. Følgende er syntaksen til at gøre dette:

 ALTER TABLE table_name DROP COLUMN column_name; 

I ovenstående,

  • Først skal vi specificere tabelnavn hvorfra vi ønsker at fjerne kolonnen.
  • Dernæst efter SLIP KOLONNE klausul, skal vi angive kolonnenavnet, som vi vil slette fra tabellen. Det skal bemærkes, at nøgleordet COLUMN er valgfrit i DROP COLUMN-udtrykket.

Hvis vi vil fjerne flere kolonner fra tabellen skal du udføre følgende udsagn:

char til streng i java
 ALTER TABLE table_name DROP COLUMN column_1, DROP COLUMN column_2, ......; 

MySQL DROP KOLONNE Eksempel

Dette eksempel forklarer, hvordan vi kan slette en kolonne fra MySQL-tabellen. Her tager vi et bord 'Prøve' som vi har oprettet tidligere og ser ud som nedenstående billede:

MySQL Tilføj/slet kolonne

Antag, at vi ønsker at slette et kolonnenavn 'Afdeling' fra testbordet. For at gøre dette skal du udføre nedenstående sætning:

 ALTER TABLE Test DROP COLUMN Branch; 

Efter vellykket eksekvering kan vi verificere resultatet nedenfor, hvor en kolonne Filial slettes fra tabellen:

MySQL Tilføj/slet kolonne

I nogle tilfælde er det nødvendigt at fjerne flere kolonner fra tabellen. For at gøre dette skal vi udføre nedenstående erklæring:

ikke lig mysql
 ALTER TABLE Test DROP COLUMN Mobile_number, DROP COLUMN Email; 

Kommandoen vil slette begge kolonner. Vi kan verificere det ved at bruge forespørgslerne på billedet nedenfor.

MySQL Tilføj/slet kolonne

Husk følgende nøglepunkter, før du sletter en kolonne fra tabellen:

MySQL arbejder med relationelle databaser, hvor skemaet for en tabel kan afhænge af kolonnerne i en anden tabel. Så når vi fjerner en kolonne fra en tabel, vil det også påvirke alle afhængige tabeller. Overvej nedenstående punkter, mens du fjerner kolonnen:

  • Når vi fjerner kolonner fra en tabel, vil det påvirke alle tilknyttede objekter såsom triggere, lagrede procedurer og visninger. Antag, at vi sletter en kolonne, der refererer i triggeren. Efter fjernelse af kolonnen bliver udløseren ugyldig.
  • Den droppede kolonne afhænger af andre programmers kode, skal også ændres, hvilket tager tid og kræfter.
  • Når vi fjerner en kolonne fra den store tabel, vil det påvirke databasens ydeevne under fjernelsestiden.