MYSQL - ALTER, DROP, RENAME, MODIFY

Anonim

HVA ER DET ALTRE KOMMANDOET?

Som ordtaket går er forandring den eneste konstanten

Med tiden endres også forretningskravene. Etter hvert som forretningskravene endres, må databasedesign også endres.

MySQL gir ALTER- funksjonen som hjelper oss med å innlemme endringene i den allerede eksisterende databasedesignen .

Alter-kommandoen brukes til å endre en eksisterende database, tabell, visning eller andre databaseobjekter som kan trenge å endres i løpet av en databases livssyklus.

La oss anta at vi har fullført databasedesignet vårt og at det er implementert. Våre databasebrukere bruker den, og så innser de at noe av den viktige informasjonen ble utelatt i designfasen. De vil ikke miste eksisterende data, men vil bare innlemme den nye informasjonen. Alter-kommandoen er nyttig i slike situasjoner. Vi kan bruke alter-kommandoen til å endre datatypen til et felt fra si streng til numerisk, endre feltnavnet til et nytt navn eller til og med legge til en ny kolonne i en tabell.

Alter-syntaks

Den grunnleggende syntaksen som brukes til å legge til en kolonne i en allerede eksisterende tabell, vises nedenfor

ALTER TABLE `table_name` ADD COLUMN `column_name` `data_type`;

HER

  • "ALTER TABLE` table_name` " er kommandoen som forteller MySQL-serveren å endre tabellen med navnet" table_name ".
  • "ADD COLUMN` column_name` `data_type`" er kommandoen som forteller MySQL-serveren om å legge til en ny kolonne med navnet `column_name` med datatypen` data_type '.

La oss anta at Myflix har introdusert fakturering og betaling på nettet. Mot det formål har vi blitt bedt om å legge til et felt for kredittkortnummeret i medlemstabellen. Vi kan bruke ALTER-kommandoen til å gjøre det. La oss først se på strukturen til medlemstabellen før vi gjør noen endringer. Skriptet vist nedenfor hjelper oss med å gjøre det.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Vi kan bruke skriptet vist nedenfor for å legge til et nytt felt i medlemstabellen.

ALTER TABLE `members` ADD COLUMN `credit_card_number` VARCHAR(25);

Å utføre det ovennevnte skriptet i MySQL mot Myflixdb legger til en ny kolonne med navnet kredittkortnummer til medlemstabellen med VARCHAR som datatype. Å utføre showkolonneskriptet gir oss følgende resultater.

SHOW COLUMNS FROM `members`;
 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
credit_card_number varchar(25) YES

Som du kan se av de returnerte resultatene, har kredittkortnummer blitt lagt til i medlemstabellen. Dataene i medlemmets data påvirkes ikke av tilføyelsen av den nye kolonnen.

HVA ER DROPKommandoen?

DROP-kommandoen er vant til

  1. Slett en database fra MySQL-serveren
  2. Slett et objekt (som tabell, kolonne) fra en database.

La oss nå se på praktiske eksempler som bruker DROP-kommandoen.

I vårt forrige eksempel på Alter Command la vi til en kolonne med navnet kredittkortnummer i medlemstabellen.

Anta at den elektroniske faktureringsfunksjonaliteten vil ta litt tid, og vi vil SLAPTE kredittkortkolonnen

Vi kan bruke følgende skript

ALTER TABLE `members` DROP COLUMN `credit_card_number`;

Ved å utføre skriptet ovenfor slippes kolonnen credit_card_number fra medlemstabellen

La oss nå se på kolonnene i medlemstabellen for å bekrefte om kolonnen vår har blitt droppet.

SHOW COLUMNS FROM `members`;

Å utføre skriptet ovenfor i MySQL arbeidsbenk mot myflixdb gir oss følgende resultater.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(350) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Legg merke til at kredittkortnummeret er falt fra feltlisten.

DROPBORD

Syntaksen for å DROP en tabell fra databasen er som følger -

DROP TABLE `sample_table`;

La oss se på et eksempel

DROP TABLE `categories_archive`;

Ved å utføre ovennevnte skript slettes tabellen med navnet `categories_archive 'fra databasen vår.

HVA ER RENAVNKOMMANDOET?

Kommandoen omdøpe brukes til å endre navnet på et eksisterende databaseobjekt (som tabell, kolonne) til et nytt navn .

Ved å gi nytt navn til en tabell kan det ikke miste data i den.

Syntaks: -

Kommandoen Gi nytt navn har følgende grunnleggende syntaks.

RENAME TABLE `current_table_name` TO `new_table_name`;

La oss anta at vi ønsker å gi nytt navn til movierentals-tabellen til movie_rentals, vi kan bruke skriptet vist nedenfor for å oppnå det.

RENAME TABLE `movierentals` TO `movie_rentals`;

Å utføre skriptet ovenfor omdøper tabellen `movierentals` til` movie_rentals`.

Vi vil nå gi nytt navn til movie_rentals-tabellen til det opprinnelige navnet.

RENAME TABLE `movie_rentals` TO `movierentals`;

ENDRE Nøkkelord

Endre nøkkelord lar deg

  1. Endre kolonnens navn
  2. Endre kolonnedatatype
  3. Endre kolonnebegrensninger

La oss se på et eksempel. Feltet med full navn i medlemstabellen er av varchar-datatype og har en bredde på 150.

SHOW COLUMNS FROM `members`;

Å utføre skriptet ovenfor i MySQL arbeidsbenk mot myflixdb gir oss følgende resultater.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
full_names varchar(150) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

Anta at vi vil

  1. Endre feltnavnet fra "fullnavn" til "fullt navn
  2. Endre den til char datatype med en bredde på 250
  3. Legg til en IKKE NULL-begrensning

Vi kan oppnå dette ved hjelp av endringskommandoen som følger -

ALTER TABLE `members` CHANGE COLUMN `full_names` `fullname` char(250) NOT NULL;

Å utføre ovennevnte skript i MySQL-arbeidsbenk mot myflixdb og deretter utføre showkolonneskriptet gitt ovenfor, gir følgende resultater.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(250) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ENDRE NøkkelORD

Med MODIFY Keyword kan du

  1. Endre kolonnedatatype
  2. Endre kolonnebegrensninger

I ENDRE-eksemplet ovenfor måtte vi endre feltnavnet og andre detaljer. Hvis du utelater feltnavnet fra ENDRE-setningen, genereres en feil. Anta at vi bare er interessert i å endre datatypen og begrensningene på feltet uten å påvirke feltnavnet, vi kan bruke MODIFY-nøkkelordet for å oppnå det.

Skriptet nedenfor endrer bredden på "fullnavn" -feltet fra 250 til 50.

ALTER TABLE `members`MODIFY `fullname` char(50) NOT NULL;

Å utføre ovennevnte skript i MySQL arbeidsbenk mot myflixdb og deretter utføre showkolonneskriptet gitt ovenfor, gir følgende resultater vist nedenfor.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL

ETTER Nøkkelord

Anta at vi vil legge til en ny kolonne på en bestemt plassering i tabellen.

Vi kan bruke kommandoen alter sammen med søkeordet ETTER.

Skriptet nedenfor legger til "date_of_registration" like etter fødselsdatoen i medlemstabellen.

ALTER TABLE `members` ADD `date_of_registration` date NULL AFTER `date_of_birth`;

Å utføre ovennevnte skript i MySQL arbeidsbenk mot myflixdb og deretter utføre showkolonneskriptet gitt ovenfor, gir følgende resultater vist nedenfor.

 
Field Type Null Key Default Extra
membership_number int(11) NO PRI NULL auto_increment
fullnames char(50) NO NULL
gender varchar(6) YES NULL
date_of_birth date YES NULL
date_of_registration date YES NULL
physical_address varchar(255) YES NULL
postal_address varchar(255) YES NULL
contact_number varchar(75) YES NULL
email varchar(255) YES NULL
Note: The Hilighted row is added after date_of_birth cloumn

Sammendrag

  • Alter-kommandoen brukes når vi vil endre en database eller et hvilket som helst objekt som finnes i databasen.
  • Slippkommandoen brukes til å slette databaser fra MySQL-serveren eller objekter i en database.
  • Gi nytt navn-kommandoen brukes til å endre navnet på en tabell til et nytt tabellnavn.
  • Med søkeordet Endre kan du endre et kolonnenavn, datatype og begrensninger
  • Med Modify Keyword kan du endre en kolonnedatatype og begrensninger
  • Nøkkelordet brukes til å spesifisere posisjonen til en kolonne i en tabell