Syntaks
>> ALTER TABEL tabelnavn DROP KOLONN exisiting_column_name;Lad os undersøge ovenstående syntaks for denne forespørgsel:
- Tabelnavn: er titlen på en eksisterende tabel, du vil ændre.
- eksisterende_søjlenavn: er navnet på en kolonne, der skal slettes.
Bemærk: Du kan have mere end én kolonne, der skal slettes. Til det er du nødt til at bruge mere end en DROP COlUMN-klausul i din forespørgsel.
Drop Column via MySQL Workbench
Sørg for, at du har MySQL installeret på dit Windows-system. Du skal åbne den nyinstallerede MySQL-arbejdsbænk fra startknappen på skrivebordet. Vi er nødt til at sørge for at forbinde vores MySQL-arbejdsbænk med databasen fra arbejdsbænkens hovedmenu under fanen 'Database'.
Under arbejdsbænkens navigationslinje har vi en liste over forskellige databaser, som vi allerede har oprettet. Inden for databasen 'data' har vi tilføjet en tabel 'studerende'. Tabellen 'studerende' har følgende optegnelser som nedenfor.
Hvis du vil slippe en kolonne fra en eksisterende tabel 'studerende', skal du sejle over i retning af skemaerne under navigatoren. Inde i databasen 'data' har vi en liste over tabeller, f.eks.g., studerende og lærer. Vi udvider bordet 'studerende'. Mens du svæver over det, vil du opdage en repræsentation af indstillingsikonet som vist nedenfor. Slå den af for at fortsætte.
Et nyt vindue åbnes i arbejdsbænken som nedenfor. Vi kan muligvis se en liste over kolonner og deres definitioner. For at droppe en kolonne fra tabellen skal du vælge den kolonne, højreklikke på den og trykke på indstillingen 'Slet valgt'.
Et nyt vindue vises, hvor der er skrevet en forespørgsel for at droppe en kolonne. Klik på knappen Anvend for at fortsætte med opdateringen.
Et andet vindue nedenfor åbnes. Tryk på en Finish-knap for at afspejle ændringer ved bordet 'studerende'.
Du kan se en kolonne 'alder' er fjernet fra tabellen 'studerende', da vi ikke kunne finde den her.
Prøv nedenstående forespørgsel på et arbejdsbord-forespørgselssted under navigatoren for at slippe en kolonne fra en tabel. Tryk på flashikonet under navigationslinjen som fremhævet i billedet nedenfor for at afspejle forespørgslens ændringer.
>> ALTER TABLE data.studerende DROP KOLONN alder;
Den nye ændrede tabel uden kolonnen 'alder' er vist nedenfor.
Slip en kolonne via kommandolinjeskal
Sørg for, at du har et kommandolinjeskaleprogram til MySQL er installeret på dit nuværende system. For at fjerne en kolonne fra en tabel, mens du bruger kommandolinjen, skal du åbne MySQL-kommandolinjeklienten fra proceslinjen. Indtast din MySQL-adgangskode, mens du bliver spurgt i skallen om at fortsætte med at arbejde.
Antag, at vi har en tabel 'studerende' med nogle poster i den, der findes i skemaets 'data'. Under kontrol har vi fundet en given nedenstående post i tabellen 'studerende'. Lige nu har denne tabel sandsynligvis 9 kolonner.
>> VÆLG * FRA data.studerende BESTIL EFTER id;
Eksempel 01: Slip en enkelt kolonne
Hvis du leder efter et eksempel for at slette en enkelt kolonne fra en eksisterende tabel, er dette eksempel virkelig noget for dig. I betragtning af den samme tabel ovenfor, lad os slette kolonnen med navnet 'efternavn' fra den. Derefter skal vi have 8 kolonner tilbage. Prøv nedenstående forespørgsel i MySQL-kommandolinjeklientskallen. Hvis forespørgslen fungerer korrekt, viser den en meddelelse om, at forespørgslen er 'OK'.
>> ALTER TABLE data.student DROP COLUMN efternavn;
Ovenstående billede viser, at forespørgslen fungerer korrekt, og kolonnen 'efternavn' er fjernet fra tabellen 'studerende'. Lad os kontrollere det og bruge den samme SELECT-forespørgsel til at kalde tabellen 'student'.
>> VÆLG * FRA data.studerende BESTIL EFTER id;Outputtet nedenfor viser, at vi kun har efterladt 8 kolonner, og kolonnen 'efternavn' og dens værdier er blevet slettet fra tabellen 'student' med succes.
Du kan slette kolonner fra start, sidste, midterste og fra enhver placering i tabellen.
Eksempel 02: Slip mere end en kolonne
Du er også i stand til at slippe mere end en kolonne fra enhver tabel i MySQL ved hjælp af ALTER-forespørgslen. Du skal bare tilføje mere end en DROP-klausul i ALTER-forespørgslen. Lad os tage den samme ovenfor opdaterede tabel 'elev' med 8 kolonner. Vi er nødt til at slette de to kolonner, f.eks.g., køn og reg_date, fra det. Til det er vi nødt til at bruge to DROP-kolonneklausuler i vores forespørgsel. Lad os udføre nedenstående ALTER-forespørgsel efterfulgt af DROP-klausulerne i MySQL-kommandolinjeklientskallen.
>> ALTER TABLE data.studerende DROP COLUMN køn, DROP COLUMN reg_date;
Som du kan se fra ovenstående forespørgselsmeddelelse, at forespørgslen fungerede perfekt. Efter at have tjekket tabellen 'studerende' har vi en opdateret tabel med 5 kolonner tilbage. Kolonnen med navnet "køn" og "reg_date" er fjernet fra den.
>> VÆLG * FRA data.studerende BESTIL EFTER id;
Punkt, der skal bemærkes, at vi har slettet kolonnerne reg_date og køn fra to forskellige placeringer i en tabel. Dette betyder, at du kan slette enhver kolonne fra et hvilket som helst sted i en tabel. Det er ikke nødvendigt at slette kolonner fra det sidste sted i tabellen.
Konklusion
Du har dygtigt prøvet alle forespørgsler for at slette, fjerne eller slippe en enkelt kolonne eller mere end en kolonne fra en allerede defineret tabel i en database, mens du arbejder i MySQL-arbejdsbænk og kommandolinjeklientshell. Vi håber, du ikke har problemer, mens du prøver alle ovenstående metoder.